{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue","mtime":1733309211507},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgdXRpbHMgZnJvbSAnQC9ob3RlbnQtdWktdXRpbCcNCmltcG9ydCBwb3J0YWwgZnJvbSAnQC9hcGkvcG9ydGFsJw0KaW1wb3J0IEFkZEZpZWxkcyBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9BZGRGaWVsZHMnDQppbXBvcnQgRm9ybWF0SnNvbiBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9Gb3JtYXRKc29uJw0KZXhwb3J0IGRlZmF1bHQgew0KICAgIG5hbWU6ICdEYXRhVGVtcGxhdGVTZXR0aW5nJywNCiAgICBjb21wb25lbnRzOiB7QWRkRmllbGRzLCBGb3JtYXRKc29ufSwNCiAgICBwcm9wczogew0KICAgICAgICAvLyDpobXpnaLnu4Tku7bliKvlkI0NCiAgICAgICAgYml6Q29kZTogew0KICAgICAgICAgICAgdHlwZTogU3RyaW5nLA0KICAgICAgICAgICAgZGVmYXVsdDogJycsDQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5qih5p2/5paH5Lu25ZCN56ewDQogICAgICAgIHRlbXBGaWxlczogew0KICAgICAgICAgICAgdHlwZTogU3RyaW5nLA0KICAgICAgICAgICAgZGVmYXVsdDogJycsDQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgfSwNCiAgICAgICAgdHlwZTogew0KICAgICAgICAgICAgdHlwZTogU3RyaW5nLA0KICAgICAgICAgICAgZGVmYXVsdDogJ2ltcG9ydCcsDQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIHZhbGlkYXRvcjogKHR5cGUpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSAnaW1wb3J0JyB8fCAnZXhwb3J0Jykgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgIH0sDQogICAgICAgIG9yaWdpbkFQSU9wdGlvbnM6IHsNCiAgICAgICAgICAgIHR5cGU6IE9iamVjdCwNCiAgICAgICAgICAgIGRlZmF1bHQ6ICgpID0+IHt9LA0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgIH0sDQogICAgICAgIGRhdGFCYXNlT3B0aW9uczogew0KICAgICAgICAgICAgdHlwZTogT2JqZWN0LA0KICAgICAgICAgICAgZGVmYXVsdDogKCkgPT4ge30sDQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgfSwNCiAgICB9LA0KICAgIGNvbXB1dGVkOiB7DQogICAgICAgIHRpdGxlKCkgew0KICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAnaW1wb3J0Jykgew0KICAgICAgICAgICAgICAgIHJldHVybiAn5a+85YWl5qih5p2/6YWN572uJw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJ+WvvOWHuuaooeadv+mFjee9ricNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICB9LA0KICAgIGRhdGEoKSB7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICBkaWFsb2dTaG93OiBmYWxzZSwNCiAgICAgICAgICAgIHRhYmxlSGVpZ2h0OiAzMDAsDQogICAgICAgICAgICB0ZW1wSWQ6ICcnLA0KICAgICAgICAgICAgdGVtcERhdGE6IHt9LCAvLyDmqKHmnb/ln7rnoYDmlbDmja4NCiAgICAgICAgICAgIGRhdGE6IFtdLA0KICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICAgIH0NCiAgICB9LA0KICAgIG1vdW50ZWQoKSB7DQogICAgICAgIHRoaXMuY2FsY1RhYmxlSGVpZ2h0KCkNCiAgICAgICAgdGhpcy4kcm9vdC4kb24oJ3Jlc2l6ZScsICgpID0+IHsNCiAgICAgICAgICAgIHRoaXMuY2FsY1RhYmxlSGVpZ2h0KDUwMCkNCiAgICAgICAgfSkNCiAgICB9LA0KICAgIG1ldGhvZHM6IHsNCiAgICAgICAgY2hhbmdlVmlld1R5cGUoaW5kZXgsIHJvdykgew0KICAgICAgICAgICAgbGV0IHRlbXBSb3cgPSB1dGlscy5kZWVwQ2xvbmUocm93KQ0KICAgICAgICAgICAgdGVtcFJvdy5maWVsZERhdGFKc29uID0gJycNCiAgICAgICAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXgsIDEsIHRlbXBSb3cpDQogICAgICAgIH0sDQogICAgICAgIGNoZWNrTnVtYmVyKGluZGV4LCByb3csIG51bSkgew0KICAgICAgICAgICAgbGV0IG51bWJlcg0KICAgICAgICAgICAgaWYgKCFudW0pIHsNCiAgICAgICAgICAgICAgICBudW1iZXIgPSAwDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bSkNCiAgICAgICAgICAgICAgICBpZiAobnVtYmVyIDwgMCkgew0KICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSAwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcm93Lm9yZGVySW5kZXggPSBudW1iZXINCiAgICAgICAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJvdykNCiAgICAgICAgfSwNCiAgICAgICAgc29ydERhdGEoKSB7DQogICAgICAgICAgICB0aGlzLmRhdGEuc29ydCgoYSwgYikgPT4gew0KICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVBID0gYS5vcmRlckluZGV4DQogICAgICAgICAgICAgICAgY29uc3QgbmFtZUIgPSBiLm9yZGVySW5kZXgNCiAgICAgICAgICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKG5hbWVBID4gbmFtZUIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIDANCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGt2SnNvbihqc29uKSB7DQogICAgICAgICAgICBsZXQga3ZKc29uID0ge30NCiAgICAgICAgICAgIGlmIChqc29uKSB7DQogICAgICAgICAgICAgICAgbGV0IHRlbXAgPSBKU09OLnBhcnNlKGpzb24pDQogICAgICAgICAgICAgICAgdGVtcC5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGt2SnNvbltpdGVtLnZhbHVlXSA9IGl0ZW0ubGFiZWwNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIGt2SnNvbiA9IEpTT04uc3RyaW5naWZ5KGt2SnNvbikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBrdkpzb24NCiAgICAgICAgfSwNCiAgICAgICAgLy8g5L+d5a2Y6YWN572uDQogICAgICAgIGhhbmRsZVNhdmUoKSB7DQogICAgICAgICAgICBpZighdGhpcy5kYXRhLmxlbmd0aCl7DQogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fphY3nva7mqKHmnb/vvIEnKQ0KICAgICAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbGV0IGRhdGFQYXJhbXMgPSB1dGlscy5kZWVwQ2xvbmUodGhpcy5kYXRhKQ0KICAgICAgICAgICAgZGF0YVBhcmFtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlbXBJZCkgew0KICAgICAgICAgICAgICAgICAgICBpdGVtLnRlbXBJZCA9IHRoaXMudGVtcElkOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9IHRoaXMudHlwZSA9PSAnaW1wb3J0JyA/IDIgOiAxDQogICAgICAgICAgICAgICAgaXRlbS5maWVsZFR5cGUgPSAxDQogICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uZGF0YVR5cGUNCiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5maWVsZERlc2MNCiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5rZXkNCiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS50YWJsZU5hbWUNCiAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS5jb2x1bW5Db21tZW50DQogICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0uY29sdW1uTmFtZQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgICAgIGV4Y2VsVGVtcDogew0KICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy50ZW1wRGF0YS5pZCwNCiAgICAgICAgICAgICAgICAgICAgdGVtcEZpbGVzOiB0aGlzLnRlbXBGaWxlcywNCiAgICAgICAgICAgICAgICAgICAgYml6Q29kZTogdGhpcy5iaXpDb2RlLA0KICAgICAgICAgICAgICAgICAgICBkYkRhdGFCYXNlOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy50YWJsZVNjaGVtYSwNCiAgICAgICAgICAgICAgICAgICAgZGJTb3VyY2VJZDogdGhpcy5kYXRhQmFzZU9wdGlvbnMuZGF0YUJhc2VJZCwNCiAgICAgICAgICAgICAgICAgICAgZGJUYWJsZTogdGhpcy5kYXRhQmFzZU9wdGlvbnMudGFibGVOYW1lLA0KICAgICAgICAgICAgICAgICAgICB0eXBlOg0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50eXBlID09ICdpbXBvcnQnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnR5cGUgPT0gJ2V4cG9ydCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IDENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdudWxsJywgLy8g57G75Z6L5LiN5a+55oql6ZSZIOexu+Wei++8iDHvvJrlr7zlh7ogMu+8muWvvOWFpe+8iQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZmllbGRzOiBkYXRhUGFyYW1zLA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcG9ydGFsLnNhdmVUZW1wbGF0ZShkYXRhKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpDQogICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+S/neWtmOaIkOWKnycpDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgncmVsb2FkJykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICAvLyDov5Tlm55qc29u6LWL5YC8DQogICAgICAgIGhhbmRsZUdldEpTb24oanNvbiwgc2NvcGUpIHsNCiAgICAgICAgICAgIGxldCB0ZW1wUm93ID0gdXRpbHMuZGVlcENsb25lKHNjb3BlLnJvdykNCiAgICAgICAgICAgIHRlbXBSb3cuZmllbGREYXRhSnNvbiA9IGpzb24NCiAgICAgICAgICAgIHRoaXMuZGF0YS5zcGxpY2Uoc2NvcGUuJGluZGV4LCAxLCB0ZW1wUm93KQ0KICAgICAgICB9LA0KICAgICAgICAvLyDnvJbovpFqc29uDQogICAgICAgIG9wZW5TZXRKc29uKHNjb3BlKSB7DQogICAgICAgICAgICB0aGlzLiRyZWZzLnNldEpzb24ub3BlbkRpYWxvZyhzY29wZSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5omT5byA6YWN572uDQogICAgICAgIG9wZW5EaWFsb2codGVtcElkKSB7DQogICAgICAgICAgICB0aGlzLnRlbXBJZCA9IHRlbXBJZA0KICAgICAgICAgICAgdGhpcy5kaWFsb2dTaG93ID0gdHJ1ZQ0KICAgICAgICAgICAgaWYgKHRlbXBJZCkgew0KICAgICAgICAgICAgICAgIHRoaXMubG9hZFRlbXBEYXRhKHRlbXBJZCkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8g5Y+W5raI5ouW5ou95o6S5bqPDQogICAgICAgICAgICAvLyB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgICAgICAvLyAgICAgdGhpcy5zZXREcmFnZ2FibGUoKQ0KICAgICAgICAgICAgLy8gfSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5p+l6K+i5bey5pyJ6YWN572uDQogICAgICAgIGxvYWRUZW1wRGF0YShpZCkgew0KICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZQ0KICAgICAgICAgICAgcG9ydGFsLmxvYWRUZW1wRGF0YShpZCkudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy50ZW1wRGF0YSA9IHJlcy5leGNlbFRlbXANCiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZvcm1hdERhdGEocmVzLmZpZWxkcykNCiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5qC85byP5YyW5Zue5aGr5pWw5o2uDQogICAgICAgIGZvcm1hdERhdGEoZGF0YSkgew0KICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gew0KICAgICAgICAgICAgICAgIGl0ZW0ua2V5ID0gaW5kZXgNCiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkVmlld1R5cGUgPSBwYXJzZUludChpdGVtLmZpZWxkVmlld1R5cGUpDQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgcmV0dXJuIGRhdGENCiAgICAgICAgfSwNCiAgICAgICAgLy8g5YWz6Zet6aG16Z2i6YeN572u5pWw5o2uDQogICAgICAgIGNsb3NlRGlhbG9nKCkgew0KICAgICAgICAgICAgdGhpcy5kYXRhID0gW10NCiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2hvdyA9IGZhbHNlDQogICAgICAgIH0sDQogICAgICAgIC8vIOaJk+W8gOa3u+WKoOWtl+auteW8ueeqlw0KICAgICAgICBvcGVuQWRkRmllbGRzRGlhbG9nKCkgew0KICAgICAgICAgICAgdGhpcy4kcmVmcy5BZGRGaWVsZHMub3BlbkRpYWxvZygpDQogICAgICAgIH0sDQogICAgICAgIC8vIOWvueixoeaVsOe7hOWOu+mHjQ0KICAgICAgICB1bmlxdWUoYXJyKSB7DQogICAgICAgICAgICBjb25zdCByZXMgPSBuZXcgTWFwKCkNCiAgICAgICAgICAgIHJldHVybiBhcnIuZmlsdGVyKA0KICAgICAgICAgICAgICAgIChhcnIpID0+ICFyZXMuaGFzKGFyci5maWVsZE5hbWUpICYmIHJlcy5zZXQoYXJyLmZpZWxkTmFtZSwgMSkNCiAgICAgICAgICAgICkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5re75Yqg5a2X5q61DQogICAgICAgIGhhbmRsZUFkZEZpZWxkcyhyb3cpIHsNCiAgICAgICAgICAgIGNvbnN0IGFkZEZpZWxkcyA9IHV0aWxzLmRlZXBDbG9uZShyb3cpDQogICAgICAgICAgICBjb25zdCBvcmlnaW5GaWVsZHMgPSB1dGlscy5kZWVwQ2xvbmUodGhpcy5kYXRhKQ0KICAgICAgICAgICAgbGV0IG5ld1RhcmdldCA9IG9yaWdpbkZpZWxkcy5jb25jYXQoYWRkRmllbGRzKQ0KICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAnZXhwb3J0Jykgew0KICAgICAgICAgICAgICAgIG5ld1RhcmdldC5zb3J0KChhLCBiKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVBID0gYS5maWVsZE5hbWUudG9VcHBlckNhc2UoKQ0KICAgICAgICAgICAgICAgICAgICBjb25zdCBuYW1lQiA9IGIuZmllbGROYW1lLnRvVXBwZXJDYXNlKCkNCiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChuYW1lQSA+IG5hbWVCKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09ICdpbXBvcnQnKSB7DQogICAgICAgICAgICAgICAgbmV3VGFyZ2V0ID0gdGhpcy51bmlxdWUobmV3VGFyZ2V0KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbmV3VGFyZ2V0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7DQogICAgICAgICAgICAgICAgaXRlbS5rZXkgPSBpbmRleA0KICAgICAgICAgICAgICAgIGl0ZW0uZmllbGRWaWV3VHlwZSA9IDENCiAgICAgICAgICAgICAgICBpdGVtLm9yZGVySW5kZXggPSBpbmRleA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIHRoaXMuZGF0YSA9IG5ld1RhcmdldA0KICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5kYXRhLCAndGhpcy5kYXRhJykNCiAgICAgICAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCkNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlVXAocm93LCBpbmRleCkgew0KICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7DQogICAgICAgICAgICAgICAgbGV0IHRhcmdldEl0ZW0gPSByb3cgLy8g5b2T5YmNSXRlbQ0KICAgICAgICAgICAgICAgIGxldCB1cEl0ZW0gPSB0aGlzLmRhdGFbaW5kZXggLSAxXSAvLyDliY3kuIDkuKpJdGVtDQogICAgICAgICAgICAgICAgbGV0IHRhcmdldEluZGV4ID0gdGhpcy5kYXRhW2luZGV4XS5vcmRlckluZGV4IC8vIOW9k+WJjUl0ZW1JbmRleA0KICAgICAgICAgICAgICAgIGxldCB1cEluZGV4ID0gdGhpcy5kYXRhW2luZGV4IC0gMV0ub3JkZXJJbmRleCAvLyDliY3kuIDkuKpJdGVtSW5kZXgNCiAgICAgICAgICAgICAgICAvLyDkuqTmjaJvcmRlckluZGV4DQogICAgICAgICAgICAgICAgdGFyZ2V0SXRlbS5vcmRlckluZGV4ID0gdXBJbmRleA0KICAgICAgICAgICAgICAgIHVwSXRlbS5vcmRlckluZGV4ID0gdGFyZ2V0SW5kZXgNCiAgICAgICAgICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4IC0gMSwgMiwgdGFyZ2V0SXRlbSwgdXBJdGVtKQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+W3sue7j+WkhOS6jue9rumhtu+8jOaXoOazleS4iuenuycpDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGhhbmRsZURvd24ocm93LCBpbmRleCkgew0KICAgICAgICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmRhdGEubGVuZ3RoIC0gMSkgew0KICAgICAgICAgICAgICAgIGxldCB0YXJnZXRJdGVtID0gcm93IC8vIOW9k+WJjUl0ZW0NCiAgICAgICAgICAgICAgICBsZXQgZG93bkl0ZW0gPSB0aGlzLmRhdGFbaW5kZXggKyAxXSAvLyDliY3kuIDkuKpJdGVtDQogICAgICAgICAgICAgICAgbGV0IHRhcmdldEluZGV4ID0gdGhpcy5kYXRhW2luZGV4XS5vcmRlckluZGV4IC8vIOW9k+WJjUl0ZW1JbmRleA0KICAgICAgICAgICAgICAgIGxldCBkb3duSW5kZXggPSB0aGlzLmRhdGFbaW5kZXggKyAxXS5vcmRlckluZGV4IC8vIOWJjeS4gOS4qkl0ZW1JbmRleA0KICAgICAgICAgICAgICAgIC8vIOS6pOaNom9yZGVySW5kZXgNCiAgICAgICAgICAgICAgICB0YXJnZXRJdGVtLm9yZGVySW5kZXggPSBkb3duSW5kZXgNCiAgICAgICAgICAgICAgICBkb3duSXRlbS5vcmRlckluZGV4ID0gdGFyZ2V0SW5kZXgNCiAgICAgICAgICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4LCAyLCBkb3duSXRlbSwgdGFyZ2V0SXRlbSkNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCflt7Lnu4/lpITkuo7nva7lupXvvIzml6Dms5XkuIvnp7snKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICAvLyDliKDpmaTlrZfmrrUNCiAgICAgICAgaGFuZGxlRGVsRmllbGRzKHJvdykgew0KICAgICAgICAgICAgaWYgKHJvdy5pZCkgew0KICAgICAgICAgICAgICAgIHBvcnRhbC5EZWxldGVFeHBvcnRGaWVsZHMocm93LmlkKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB1dGlscy5kZWVwQ2xvbmUodGhpcy5kYXRhKQ0KICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IGRhdGEuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtleSAhPSByb3cua2V5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gdGFyZ2V0DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpDQogICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IGRhdGEuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtleSAhPSByb3cua2V5KQ0KICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHRhcmdldA0KICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgZGVib3VuY2UoZm4sIGRlbGF5KSB7DQogICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcikNCiAgICAgICAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBmbigpDQogICAgICAgICAgICB9LCBkZWxheSkNCiAgICAgICAgfSwNCiAgICAgICAgLy8g6K6+572u6KGo5qC85ouW5ou9DQogICAgICAgIHNldERyYWdnYWJsZSgpIHsNCiAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gdGhpcy4kcmVmcy5EVFRhYmxlDQogICAgICAgICAgICBjb25zdCAkZGF0YSA9IHRhYmxlLmRhdGENCiAgICAgICAgICAgIGNvbnN0IHRib2R5ID0gdGFibGUuJGVsLnF1ZXJ5U2VsZWN0b3IoDQogICAgICAgICAgICAgICAgJy5lbC10YWJsZV9fYm9keS13cmFwcGVyIHRib2R5Jw0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgY29uc3QgJHRoaXMgPSB0aGlzDQogICAgICAgICAgICBjb25zdCB0ckFyciA9IHRib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykNCiAgICAgICAgICAgIGxldCBkcmFnU3RhcnRZID0gMA0KICAgICAgICAgICAgaWYgKHRyQXJyKSB7DQogICAgICAgICAgICAgICAgdHJBcnIuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRBdHRyaWJ1dGUoJ2RyYWdnYWJsZScsIHRydWUpDQogICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JywgaW5kZXgpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIOW8gOWni+aLluaLvQ0KICAgICAgICAgICAgZnVuY3Rpb24gZHJhZ3N0YXJ0KGUpIHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlLCAnZGZzZicpDQogICAgICAgICAgICAgICAgJHRoaXMuZGVib3VuY2UoKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICBkcmFnU3RhcnRZID0gZS55DQogICAgICAgICAgICAgICAgfSwgNTApDQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyDnu5PmnZ/mi5bmi70NCiAgICAgICAgICAgIGZ1bmN0aW9uIGRyYWdlbmQoZSkgew0KICAgICAgICAgICAgICAgIGlmICghZS50YXJnZXQpIHJldHVybg0KICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gTnVtYmVyKGUudGFyZ2V0LmRhdGFzZXQuaW5kZXgsIDEwKQ0KICAgICAgICAgICAgICAgIGNvbnN0IHRySGVpZ2h0ID0gZS50YXJnZXQub2Zmc2V0SGVpZ2h0IHx8IDQ1DQogICAgICAgICAgICAgICAgJHRoaXMuZGVib3VuY2UoYXN5bmMgKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICBjb25zdCBkVmFsID0gZS55IC0gZHJhZ1N0YXJ0WQ0KICAgICAgICAgICAgICAgICAgICBjb25zdCBhYnNWYWwgPSBNYXRoLmFicyhkVmFsKQ0KICAgICAgICAgICAgICAgICAgICBsZXQgc3RlcCA9IDANCiAgICAgICAgICAgICAgICAgICAgaWYgKGFic1ZhbCA+PSB0ckhlaWdodCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRWYWwgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCA9IE1hdGguZmxvb3IoZFZhbCAvIHRySGVpZ2h0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGVwID49ICRkYXRhLmxlbmd0aCAtIGluZGV4KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAgPSAkZGF0YS5sZW5ndGggLSBpbmRleCAtIDENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAgPSBNYXRoLmNlaWwoZFZhbCAvIHRySGVpZ2h0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhzdGVwKSA+IGluZGV4KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAgPSBpbmRleCAqIC0xDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwICYmIHN0ZXAgPD0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAkZGF0YS5sZW5ndGggLSAxICYmIHN0ZXAgPj0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgcGFyYW1zID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGlkOiAkZGF0YVtpbmRleF0uaWQsDQogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgc3RlcDogc3RlcCAqIC0xLA0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gfQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXA6IHN0ZXAgKiAtMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhcmFtcywgJ3BhcmFtcycpDQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5jaGFuZ2VTb3J0KHBhcmFtcykNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vICR0aGlzLmxvYWRpbmcgPSB0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAvLyAvLyDlkI7nq6/mjqXlj6MNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGF3YWl0ICR0aGlzLiRhcGkudXJsLnNldENvbnRlbnRTb3J0KHBhcmFtcykNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIC8vIOmHjeaWsOiOt+WPluaVsOaNrg0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gJHRoaXMucmVsb2FkRGF0YSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LCA1MCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdzdGFydCcsIGRyYWdzdGFydCkNCiAgICAgICAgICAgIHRib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbmQnLCBkcmFnZW5kKQ0KICAgICAgICB9LA0KICAgICAgICAvLyDmi5bmi73nu5PmnZ/ph43mlrDmjpLluo8NCiAgICAgICAgY2hhbmdlU29ydChwYXJhbXMpIHsNCiAgICAgICAgICAgIGxldCBkYXRhID0gdXRpbHMuZGVlcENsb25lKHRoaXMuZGF0YSkNCiAgICAgICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gcGFyYW1zLmluZGV4IC0gcGFyYW1zLnN0ZXANCiAgICAgICAgICAgIGxldCB0YXJnZXRJdGVtID0gZGF0YS5zcGxpY2UocGFyYW1zLmluZGV4LCAxKQ0KICAgICAgICAgICAgZGF0YS5zcGxpY2UodGFyZ2V0SW5kZXgsIDAsIHRhcmdldEl0ZW1bMF0pDQogICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhDQogICAgICAgICAgICB0aGlzLiRmb3JjZVVwZGF0ZSgpDQogICAgICAgIH0sDQogICAgICAgIC8vIOWKqOaAgeiuoeeul+ihqOagvOeahOmrmOW6pu+8jOiHqumAguW6lOW9k+WJjeWuueWZqA0KICAgICAgICBjYWxjVGFibGVIZWlnaHQoZGVsYXkpIHsNCiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMudGFibGVIZWlnaHQgPQ0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICogMC45IC0gMjAwDQogICAgICAgICAgICB9LCBkZWxheSB8fCAwKQ0KICAgICAgICB9LA0KICAgIH0sDQp9DQo="},null]}