{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\ImportExportData\\DataTemplateSetting.vue","mtime":1705895419236},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2J6emdqLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IuanMiOwppbXBvcnQgInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNvcnQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgdXRpbHMgZnJvbSAnQC9ob3RlbnQtdWktdXRpbCc7CmltcG9ydCBwb3J0YWwgZnJvbSAnQC9hcGkvcG9ydGFsJzsKaW1wb3J0IEFkZEZpZWxkcyBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9BZGRGaWVsZHMnOwppbXBvcnQgRm9ybWF0SnNvbiBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9Gb3JtYXRKc29uJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEYXRhVGVtcGxhdGVTZXR0aW5nJywKICBjb21wb25lbnRzOiB7CiAgICBBZGRGaWVsZHM6IEFkZEZpZWxkcywKICAgIEZvcm1hdEpzb246IEZvcm1hdEpzb24KICB9LAogIHByb3BzOiB7CiAgICAvLyDpobXpnaLnu4Tku7bliKvlkI0KICAgIGJpekNvZGU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJywKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICAvLyDmqKHmnb/mlofku7blkI3np7AKICAgIHRlbXBGaWxlczogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcnLAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfSwKICAgIHR5cGU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnaW1wb3J0JywKICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHR5cGUpIHsKICAgICAgICBpZiAodHlwZSA9PSAnaW1wb3J0JyB8fCAnZXhwb3J0JykgewogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBvcmlnaW5BUElPcHRpb25zOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7fSwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBkYXRhQmFzZU9wdGlvbnM6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHt9LAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfQogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHRpdGxlOiBmdW5jdGlvbiB0aXRsZSgpIHsKICAgICAgaWYgKHRoaXMudHlwZSA9PSAnaW1wb3J0JykgewogICAgICAgIHJldHVybiAn5a+85YWl5qih5p2/6YWN572uJzsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gJ+WvvOWHuuaooeadv+mFjee9ric7CiAgICAgIH0KICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBkaWFsb2dTaG93OiBmYWxzZSwKICAgICAgdGFibGVIZWlnaHQ6IDMwMCwKICAgICAgdGVtcElkOiAnJywKICAgICAgdGVtcERhdGE6IHt9LAogICAgICAvLyDmqKHmnb/ln7rnoYDmlbDmja4KICAgICAgZGF0YTogW10sCiAgICAgIGxvYWRpbmc6IGZhbHNlCiAgICB9OwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLmNhbGNUYWJsZUhlaWdodCgpOwogICAgdGhpcy4kcm9vdC4kb24oJ3Jlc2l6ZScsIGZ1bmN0aW9uICgpIHsKICAgICAgX3RoaXMuY2FsY1RhYmxlSGVpZ2h0KDUwMCk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGNoYW5nZVZpZXdUeXBlOiBmdW5jdGlvbiBjaGFuZ2VWaWV3VHlwZShpbmRleCwgcm93KSB7CiAgICAgIHZhciB0ZW1wUm93ID0gdXRpbHMuZGVlcENsb25lKHJvdyk7CiAgICAgIHRlbXBSb3cuZmllbGREYXRhSnNvbiA9ICcnOwogICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4LCAxLCB0ZW1wUm93KTsKICAgIH0sCiAgICBjaGVja051bWJlcjogZnVuY3Rpb24gY2hlY2tOdW1iZXIoaW5kZXgsIHJvdywgbnVtKSB7CiAgICAgIHZhciBudW1iZXI7CiAgICAgIGlmICghbnVtKSB7CiAgICAgICAgbnVtYmVyID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW0pOwogICAgICAgIGlmIChudW1iZXIgPCAwKSB7CiAgICAgICAgICBudW1iZXIgPSAwOwogICAgICAgIH0KICAgICAgfQogICAgICByb3cub3JkZXJJbmRleCA9IG51bWJlcjsKICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsKICAgIH0sCiAgICBzb3J0RGF0YTogZnVuY3Rpb24gc29ydERhdGEoKSB7CiAgICAgIHRoaXMuZGF0YS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgdmFyIG5hbWVBID0gYS5vcmRlckluZGV4OwogICAgICAgIHZhciBuYW1lQiA9IGIub3JkZXJJbmRleDsKICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikgewogICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZUEgPiBuYW1lQikgewogICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgICB9KTsKICAgIH0sCiAgICBrdkpzb246IGZ1bmN0aW9uIGt2SnNvbihqc29uKSB7CiAgICAgIHZhciBrdkpzb24gPSB7fTsKICAgICAgaWYgKGpzb24pIHsKICAgICAgICB2YXIgdGVtcCA9IEpTT04ucGFyc2UoanNvbik7CiAgICAgICAgdGVtcC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBrdkpzb25baXRlbS52YWx1ZV0gPSBpdGVtLmxhYmVsOwogICAgICAgIH0pOwogICAgICAgIGt2SnNvbiA9IEpTT04uc3RyaW5naWZ5KGt2SnNvbik7CiAgICAgIH0KICAgICAgcmV0dXJuIGt2SnNvbjsKICAgIH0sCiAgICAvLyDkv53lrZjphY3nva4KICAgIGhhbmRsZVNhdmU6IGZ1bmN0aW9uIGhhbmRsZVNhdmUoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICBpZiAoIXRoaXMuZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+mFjee9ruaooeadv++8gScpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgZGF0YVBhcmFtcyA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICBkYXRhUGFyYW1zLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgaWYgKF90aGlzMi50ZW1wSWQpIHsKICAgICAgICAgIGl0ZW0udGVtcElkID0gX3RoaXMyLnRlbXBJZDsKICAgICAgICB9CiAgICAgICAgaXRlbS50eXBlID0gX3RoaXMyLnR5cGUgPT0gJ2ltcG9ydCcgPyAyIDogMTsKICAgICAgICBpdGVtLmZpZWxkVHlwZSA9IDE7CiAgICAgICAgZGVsZXRlIGl0ZW0uZGF0YVR5cGU7CiAgICAgICAgZGVsZXRlIGl0ZW0uZmllbGREZXNjOwogICAgICAgIGRlbGV0ZSBpdGVtLmtleTsKICAgICAgICBkZWxldGUgaXRlbS50YWJsZU5hbWU7CiAgICAgICAgZGVsZXRlIGl0ZW0uY29sdW1uQ29tbWVudDsKICAgICAgICBkZWxldGUgaXRlbS5jb2x1bW5OYW1lOwogICAgICB9KTsKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgZXhjZWxUZW1wOiB7CiAgICAgICAgICBpZDogdGhpcy50ZW1wRGF0YS5pZCwKICAgICAgICAgIHRlbXBGaWxlczogdGhpcy50ZW1wRmlsZXMsCiAgICAgICAgICBiaXpDb2RlOiB0aGlzLmJpekNvZGUsCiAgICAgICAgICBkYkRhdGFCYXNlOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy50YWJsZVNjaGVtYSwKICAgICAgICAgIGRiU291cmNlSWQ6IHRoaXMuZGF0YUJhc2VPcHRpb25zLmRhdGFCYXNlSWQsCiAgICAgICAgICBkYlRhYmxlOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy50YWJsZU5hbWUsCiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUgPT0gJ2ltcG9ydCcgPyAyIDogdGhpcy50eXBlID09ICdleHBvcnQnID8gMSA6ICdudWxsJyAvLyDnsbvlnovkuI3lr7nmiqXplJkg57G75Z6L77yIMe+8muWvvOWHuiAy77ya5a+85YWl77yJCiAgICAgICAgfSwKICAgICAgICBmaWVsZHM6IGRhdGFQYXJhbXMKICAgICAgfTsKICAgICAgcG9ydGFsLnNhdmVUZW1wbGF0ZShkYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5zdWNjZXNzKCfkv53lrZjmiJDlip8nKTsKICAgICAgICAgIF90aGlzMi5jbG9zZURpYWxvZygpOwogICAgICAgICAgX3RoaXMyLiRlbWl0KCdyZWxvYWQnKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOi/lOWbnmpzb27otYvlgLwKICAgIGhhbmRsZUdldEpTb246IGZ1bmN0aW9uIGhhbmRsZUdldEpTb24oanNvbiwgc2NvcGUpIHsKICAgICAgdmFyIHRlbXBSb3cgPSB1dGlscy5kZWVwQ2xvbmUoc2NvcGUucm93KTsKICAgICAgdGVtcFJvdy5maWVsZERhdGFKc29uID0ganNvbjsKICAgICAgdGhpcy5kYXRhLnNwbGljZShzY29wZS4kaW5kZXgsIDEsIHRlbXBSb3cpOwogICAgfSwKICAgIC8vIOe8lui+kWpzb24KICAgIG9wZW5TZXRKc29uOiBmdW5jdGlvbiBvcGVuU2V0SnNvbihzY29wZSkgewogICAgICB0aGlzLiRyZWZzLnNldEpzb24ub3BlbkRpYWxvZyhzY29wZSk7CiAgICB9LAogICAgLy8g5omT5byA6YWN572uCiAgICBvcGVuRGlhbG9nOiBmdW5jdGlvbiBvcGVuRGlhbG9nKHRlbXBJZCkgewogICAgICB0aGlzLnRlbXBJZCA9IHRlbXBJZDsKICAgICAgdGhpcy5kaWFsb2dTaG93ID0gdHJ1ZTsKICAgICAgaWYgKHRlbXBJZCkgewogICAgICAgIHRoaXMubG9hZFRlbXBEYXRhKHRlbXBJZCk7CiAgICAgIH0KCiAgICAgIC8vIOWPlua2iOaLluaLveaOkuW6jwogICAgICAvLyB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgIC8vICAgICB0aGlzLnNldERyYWdnYWJsZSgpCiAgICAgIC8vIH0pCiAgICB9LAogICAgLy8g5p+l6K+i5bey5pyJ6YWN572uCiAgICBsb2FkVGVtcERhdGE6IGZ1bmN0aW9uIGxvYWRUZW1wRGF0YShpZCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgcG9ydGFsLmxvYWRUZW1wRGF0YShpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMzLnRlbXBEYXRhID0gcmVzLmV4Y2VsVGVtcDsKICAgICAgICBfdGhpczMuZGF0YSA9IF90aGlzMy5mb3JtYXREYXRhKHJlcy5maWVsZHMpOwogICAgICAgIF90aGlzMy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOagvOW8j+WMluWbnuWhq+aVsOaNrgogICAgZm9ybWF0RGF0YTogZnVuY3Rpb24gZm9ybWF0RGF0YShkYXRhKSB7CiAgICAgIGRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICBpdGVtLmtleSA9IGluZGV4OwogICAgICAgIGl0ZW0uZmllbGRWaWV3VHlwZSA9IHBhcnNlSW50KGl0ZW0uZmllbGRWaWV3VHlwZSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCiAgICAvLyDlhbPpl63pobXpnaLph43nva7mlbDmja4KICAgIGNsb3NlRGlhbG9nOiBmdW5jdGlvbiBjbG9zZURpYWxvZygpIHsKICAgICAgdGhpcy5kYXRhID0gW107CiAgICAgIHRoaXMuZGlhbG9nU2hvdyA9IGZhbHNlOwogICAgfSwKICAgIC8vIOaJk+W8gOa3u+WKoOWtl+auteW8ueeqlwogICAgb3BlbkFkZEZpZWxkc0RpYWxvZzogZnVuY3Rpb24gb3BlbkFkZEZpZWxkc0RpYWxvZygpIHsKICAgICAgdGhpcy4kcmVmcy5BZGRGaWVsZHMub3BlbkRpYWxvZygpOwogICAgfSwKICAgIC8vIOWvueixoeaVsOe7hOWOu+mHjQogICAgdW5pcXVlOiBmdW5jdGlvbiB1bmlxdWUoYXJyKSB7CiAgICAgIHZhciByZXMgPSBuZXcgTWFwKCk7CiAgICAgIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uIChhcnIpIHsKICAgICAgICByZXR1cm4gIXJlcy5oYXMoYXJyLmZpZWxkTmFtZSkgJiYgcmVzLnNldChhcnIuZmllbGROYW1lLCAxKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5re75Yqg5a2X5q61CiAgICBoYW5kbGVBZGRGaWVsZHM6IGZ1bmN0aW9uIGhhbmRsZUFkZEZpZWxkcyhyb3cpIHsKICAgICAgdmFyIGFkZEZpZWxkcyA9IHV0aWxzLmRlZXBDbG9uZShyb3cpOwogICAgICB2YXIgb3JpZ2luRmllbGRzID0gdXRpbHMuZGVlcENsb25lKHRoaXMuZGF0YSk7CiAgICAgIHZhciBuZXdUYXJnZXQgPSBvcmlnaW5GaWVsZHMuY29uY2F0KGFkZEZpZWxkcyk7CiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2V4cG9ydCcpIHsKICAgICAgICBuZXdUYXJnZXQuc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgdmFyIG5hbWVBID0gYS5maWVsZE5hbWUudG9VcHBlckNhc2UoKTsKICAgICAgICAgIHZhciBuYW1lQiA9IGIuZmllbGROYW1lLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikgewogICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobmFtZUEgPiBuYW1lQikgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSAnaW1wb3J0JykgewogICAgICAgIG5ld1RhcmdldCA9IHRoaXMudW5pcXVlKG5ld1RhcmdldCk7CiAgICAgIH0KICAgICAgbmV3VGFyZ2V0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgaXRlbS5rZXkgPSBpbmRleDsKICAgICAgICBpdGVtLmZpZWxkVmlld1R5cGUgPSAxOwogICAgICAgIGl0ZW0ub3JkZXJJbmRleCA9IGluZGV4OwogICAgICB9KTsKICAgICAgdGhpcy5kYXRhID0gbmV3VGFyZ2V0OwogICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEsICd0aGlzLmRhdGEnKTsKICAgICAgdGhpcy4kZm9yY2VVcGRhdGUoKTsKICAgIH0sCiAgICBoYW5kbGVVcDogZnVuY3Rpb24gaGFuZGxlVXAocm93LCBpbmRleCkgewogICAgICBpZiAoaW5kZXggIT09IDApIHsKICAgICAgICB2YXIgdGFyZ2V0SXRlbSA9IHJvdzsgLy8g5b2T5YmNSXRlbQogICAgICAgIHZhciB1cEl0ZW0gPSB0aGlzLmRhdGFbaW5kZXggLSAxXTsgLy8g5YmN5LiA5LiqSXRlbQogICAgICAgIHZhciB0YXJnZXRJbmRleCA9IHRoaXMuZGF0YVtpbmRleF0ub3JkZXJJbmRleDsgLy8g5b2T5YmNSXRlbUluZGV4CiAgICAgICAgdmFyIHVwSW5kZXggPSB0aGlzLmRhdGFbaW5kZXggLSAxXS5vcmRlckluZGV4OyAvLyDliY3kuIDkuKpJdGVtSW5kZXgKICAgICAgICAvLyDkuqTmjaJvcmRlckluZGV4CiAgICAgICAgdGFyZ2V0SXRlbS5vcmRlckluZGV4ID0gdXBJbmRleDsKICAgICAgICB1cEl0ZW0ub3JkZXJJbmRleCA9IHRhcmdldEluZGV4OwogICAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXggLSAxLCAyLCB0YXJnZXRJdGVtLCB1cEl0ZW0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5bey57uP5aSE5LqO572u6aG277yM5peg5rOV5LiK56e7Jyk7CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVEb3duOiBmdW5jdGlvbiBoYW5kbGVEb3duKHJvdywgaW5kZXgpIHsKICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmRhdGEubGVuZ3RoIC0gMSkgewogICAgICAgIHZhciB0YXJnZXRJdGVtID0gcm93OyAvLyDlvZPliY1JdGVtCiAgICAgICAgdmFyIGRvd25JdGVtID0gdGhpcy5kYXRhW2luZGV4ICsgMV07IC8vIOWJjeS4gOS4qkl0ZW0KICAgICAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLmRhdGFbaW5kZXhdLm9yZGVySW5kZXg7IC8vIOW9k+WJjUl0ZW1JbmRleAogICAgICAgIHZhciBkb3duSW5kZXggPSB0aGlzLmRhdGFbaW5kZXggKyAxXS5vcmRlckluZGV4OyAvLyDliY3kuIDkuKpJdGVtSW5kZXgKICAgICAgICAvLyDkuqTmjaJvcmRlckluZGV4CiAgICAgICAgdGFyZ2V0SXRlbS5vcmRlckluZGV4ID0gZG93bkluZGV4OwogICAgICAgIGRvd25JdGVtLm9yZGVySW5kZXggPSB0YXJnZXRJbmRleDsKICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4LCAyLCBkb3duSXRlbSwgdGFyZ2V0SXRlbSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCflt7Lnu4/lpITkuo7nva7lupXvvIzml6Dms5XkuIvnp7snKTsKICAgICAgfQogICAgfSwKICAgIC8vIOWIoOmZpOWtl+autQogICAgaGFuZGxlRGVsRmllbGRzOiBmdW5jdGlvbiBoYW5kbGVEZWxGaWVsZHMocm93KSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICBpZiAocm93LmlkKSB7CiAgICAgICAgcG9ydGFsLkRlbGV0ZUV4cG9ydEZpZWxkcyhyb3cuaWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZShfdGhpczQuZGF0YSk7CiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkYXRhLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSAhPSByb3cua2V5OwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgX3RoaXM0LmRhdGEgPSB0YXJnZXQ7CiAgICAgICAgICAgIF90aGlzNC4kbWVzc2FnZS5zdWNjZXNzKCfliKDpmaTmiJDlip8nKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICAgIHZhciB0YXJnZXQgPSBkYXRhLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ICE9IHJvdy5rZXk7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5kYXRhID0gdGFyZ2V0OwogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7CiAgICAgIH0KICAgIH0sCiAgICBkZWJvdW5jZTogZnVuY3Rpb24gZGVib3VuY2UoZm4sIGRlbGF5KSB7CiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTsKICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIGZuKCk7CiAgICAgIH0sIGRlbGF5KTsKICAgIH0sCiAgICAvLyDorr7nva7ooajmoLzmi5bmi70KICAgIHNldERyYWdnYWJsZTogZnVuY3Rpb24gc2V0RHJhZ2dhYmxlKCkgewogICAgICB2YXIgdGFibGUgPSB0aGlzLiRyZWZzLkRUVGFibGU7CiAgICAgIHZhciAkZGF0YSA9IHRhYmxlLmRhdGE7CiAgICAgIHZhciB0Ym9keSA9IHRhYmxlLiRlbC5xdWVyeVNlbGVjdG9yKCcuZWwtdGFibGVfX2JvZHktd3JhcHBlciB0Ym9keScpOwogICAgICB2YXIgJHRoaXMgPSB0aGlzOwogICAgICB2YXIgdHJBcnIgPSB0Ym9keS5xdWVyeVNlbGVjdG9yQWxsKCd0cicpOwogICAgICB2YXIgZHJhZ1N0YXJ0WSA9IDA7CiAgICAgIGlmICh0ckFycikgewogICAgICAgIHRyQXJyLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnZHJhZ2dhYmxlJywgdHJ1ZSk7CiAgICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcsIGluZGV4KTsKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgLy8g5byA5aeL5ouW5ou9CiAgICAgIGZ1bmN0aW9uIGRyYWdzdGFydChlKSB7CiAgICAgICAgY29uc29sZS5sb2coZSwgJ2Rmc2YnKTsKICAgICAgICAkdGhpcy5kZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICBkcmFnU3RhcnRZID0gZS55OwogICAgICAgIH0sIDUwKTsKICAgICAgfQoKICAgICAgLy8g57uT5p2f5ouW5ou9CiAgICAgIGZ1bmN0aW9uIGRyYWdlbmQoZSkgewogICAgICAgIGlmICghZS50YXJnZXQpIHJldHVybjsKICAgICAgICB2YXIgaW5kZXggPSBOdW1iZXIoZS50YXJnZXQuZGF0YXNldC5pbmRleCwgMTApOwogICAgICAgIHZhciB0ckhlaWdodCA9IGUudGFyZ2V0Lm9mZnNldEhlaWdodCB8fCA0NTsKICAgICAgICAkdGhpcy5kZWJvdW5jZSgvKiNfX1BVUkVfXyovX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgICB2YXIgZFZhbCwgYWJzVmFsLCBzdGVwLCBwYXJhbXM7CiAgICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBkVmFsID0gZS55IC0gZHJhZ1N0YXJ0WTsKICAgICAgICAgICAgICAgIGFic1ZhbCA9IE1hdGguYWJzKGRWYWwpOwogICAgICAgICAgICAgICAgc3RlcCA9IDA7CiAgICAgICAgICAgICAgICBpZiAoIShhYnNWYWwgPj0gdHJIZWlnaHQpKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxMjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoZFZhbCA+IDApIHsKICAgICAgICAgICAgICAgICAgc3RlcCA9IE1hdGguZmxvb3IoZFZhbCAvIHRySGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgaWYgKHN0ZXAgPj0gJGRhdGEubGVuZ3RoIC0gaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICBzdGVwID0gJGRhdGEubGVuZ3RoIC0gaW5kZXggLSAxOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBzdGVwID0gTWF0aC5jZWlsKGRWYWwgLyB0ckhlaWdodCk7CiAgICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhzdGVwKSA+IGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgc3RlcCA9IGluZGV4ICogLTE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghKGluZGV4ID09PSAwICYmIHN0ZXAgPD0gMCkpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDc7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgICAgaWYgKCEoaW5kZXggPT09ICRkYXRhLmxlbmd0aCAtIDEgJiYgc3RlcCA+PSAwKSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gOTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iKTsKICAgICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgICAvLyBjb25zdCBwYXJhbXMgPSB7CiAgICAgICAgICAgICAgICAvLyAgICAgaWQ6ICRkYXRhW2luZGV4XS5pZCwKICAgICAgICAgICAgICAgIC8vICAgICBzdGVwOiBzdGVwICogLTEsCiAgICAgICAgICAgICAgICAvLyB9CiAgICAgICAgICAgICAgICBwYXJhbXMgPSB7CiAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCwKICAgICAgICAgICAgICAgICAgc3RlcDogc3RlcCAqIC0xCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgY29uc29sZS5sb2cocGFyYW1zLCAncGFyYW1zJyk7CiAgICAgICAgICAgICAgICAkdGhpcy5jaGFuZ2VTb3J0KHBhcmFtcyk7CiAgICAgICAgICAgICAgICAvLyAkdGhpcy5sb2FkaW5nID0gdHJ1ZQogICAgICAgICAgICAgICAgLy8gLy8g5ZCO56uv5o6l5Y+jCiAgICAgICAgICAgICAgICAvLyBhd2FpdCAkdGhpcy4kYXBpLnVybC5zZXRDb250ZW50U29ydChwYXJhbXMpCiAgICAgICAgICAgICAgICAvLyAvLyDph43mlrDojrflj5bmlbDmja4KICAgICAgICAgICAgICAgIC8vICR0aGlzLnJlbG9hZERhdGEoKQogICAgICAgICAgICAgIGNhc2UgMTI6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUpOwogICAgICAgIH0pKSwgNTApOwogICAgICB9CiAgICAgIHRib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdzdGFydCcsIGRyYWdzdGFydCk7CiAgICAgIHRib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbmQnLCBkcmFnZW5kKTsKICAgIH0sCiAgICAvLyDmi5bmi73nu5PmnZ/ph43mlrDmjpLluo8KICAgIGNoYW5nZVNvcnQ6IGZ1bmN0aW9uIGNoYW5nZVNvcnQocGFyYW1zKSB7CiAgICAgIHZhciBkYXRhID0gdXRpbHMuZGVlcENsb25lKHRoaXMuZGF0YSk7CiAgICAgIHZhciB0YXJnZXRJbmRleCA9IHBhcmFtcy5pbmRleCAtIHBhcmFtcy5zdGVwOwogICAgICB2YXIgdGFyZ2V0SXRlbSA9IGRhdGEuc3BsaWNlKHBhcmFtcy5pbmRleCwgMSk7CiAgICAgIGRhdGEuc3BsaWNlKHRhcmdldEluZGV4LCAwLCB0YXJnZXRJdGVtWzBdKTsKICAgICAgdGhpcy5kYXRhID0gZGF0YTsKICAgICAgdGhpcy4kZm9yY2VVcGRhdGUoKTsKICAgIH0sCiAgICAvLyDliqjmgIHorqHnrpfooajmoLznmoTpq5jluqbvvIzoh6rpgILlupTlvZPliY3lrrnlmagKICAgIGNhbGNUYWJsZUhlaWdodDogZnVuY3Rpb24gY2FsY1RhYmxlSGVpZ2h0KGRlbGF5KSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczUudGFibGVIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICogMC45IC0gMjAwOwogICAgICB9LCBkZWxheSB8fCAwKTsKICAgIH0KICB9Cn07"},null]}