{"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\\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\\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:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNvcnQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgdXRpbHMgZnJvbSAnQC9ob3RlbnQtdWktdXRpbCc7CmltcG9ydCBwb3J0YWwgZnJvbSAnQC9hcGkvcG9ydGFsJzsKaW1wb3J0IEFkZEZpZWxkcyBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9BZGRGaWVsZHMnOwppbXBvcnQgRm9ybWF0SnNvbiBmcm9tICdAL2NvbXBvbmVudHMvSW1wb3J0RXhwb3J0RGF0YS9Gb3JtYXRKc29uJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEYXRhVGVtcGxhdGVTZXR0aW5nJywKICBjb21wb25lbnRzOiB7CiAgICBBZGRGaWVsZHM6IEFkZEZpZWxkcywKICAgIEZvcm1hdEpzb246IEZvcm1hdEpzb24KICB9LAogIHByb3BzOiB7CiAgICAvLyDpobXpnaLnu4Tku7bliKvlkI0KICAgIGJpekNvZGU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJywKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICAvLyDmqKHmnb/mlofku7blkI3np7AKICAgIHRlbXBGaWxlczogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcnLAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfSwKICAgIHR5cGU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnaW1wb3J0JywKICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgIHZhbGlkYXRvcjogZnVuY3Rpb24gdmFsaWRhdG9yKHR5cGUpIHsKICAgICAgICBpZiAodHlwZSA9PSAnaW1wb3J0JyB8fCAnZXhwb3J0JykgewogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBvcmlnaW5BUElPcHRpb25zOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7fSwKICAgICAgcmVxdWlyZWQ6IHRydWUKICAgIH0sCiAgICBkYXRhQmFzZU9wdGlvbnM6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHt9LAogICAgICByZXF1aXJlZDogdHJ1ZQogICAgfQogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHRpdGxlOiBmdW5jdGlvbiB0aXRsZSgpIHsKICAgICAgaWYgKHRoaXMudHlwZSA9PSAnaW1wb3J0JykgewogICAgICAgIHJldHVybiAn5a+85YWl5qih5p2/6YWN572uJzsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gJ+WvvOWHuuaooeadv+mFjee9ric7CiAgICAgIH0KICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBkaWFsb2dTaG93OiBmYWxzZSwKICAgICAgdGFibGVIZWlnaHQ6IDMwMCwKICAgICAgdGVtcElkOiAnJywKICAgICAgdGVtcERhdGE6IHt9LAogICAgICAvLyDmqKHmnb/ln7rnoYDmlbDmja4KICAgICAgZGF0YTogW10sCiAgICAgIGxvYWRpbmc6IGZhbHNlCiAgICB9OwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB0aGlzLmNhbGNUYWJsZUhlaWdodCgpOwogICAgdGhpcy4kcm9vdC4kb24oJ3Jlc2l6ZScsIGZ1bmN0aW9uICgpIHsKICAgICAgX3RoaXMuY2FsY1RhYmxlSGVpZ2h0KDUwMCk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGNoYW5nZVZpZXdUeXBlOiBmdW5jdGlvbiBjaGFuZ2VWaWV3VHlwZShpbmRleCwgcm93KSB7CiAgICAgIHZhciB0ZW1wUm93ID0gdXRpbHMuZGVlcENsb25lKHJvdyk7CiAgICAgIHRlbXBSb3cuZmllbGREYXRhSnNvbiA9ICcnOwogICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4LCAxLCB0ZW1wUm93KTsKICAgIH0sCiAgICBjaGVja051bWJlcjogZnVuY3Rpb24gY2hlY2tOdW1iZXIoaW5kZXgsIHJvdywgbnVtKSB7CiAgICAgIHZhciBudW1iZXI7CiAgICAgIGlmICghbnVtKSB7CiAgICAgICAgbnVtYmVyID0gMDsKICAgICAgfSBlbHNlIHsKICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW0pOwogICAgICAgIGlmIChudW1iZXIgPCAwKSB7CiAgICAgICAgICBudW1iZXIgPSAwOwogICAgICAgIH0KICAgICAgfQogICAgICByb3cub3JkZXJJbmRleCA9IG51bWJlcjsKICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsKICAgIH0sCiAgICBzb3J0RGF0YTogZnVuY3Rpb24gc29ydERhdGEoKSB7CiAgICAgIHRoaXMuZGF0YS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgdmFyIG5hbWVBID0gYS5vcmRlckluZGV4OwogICAgICAgIHZhciBuYW1lQiA9IGIub3JkZXJJbmRleDsKICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikgewogICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBpZiAobmFtZUEgPiBuYW1lQikgewogICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgICB9KTsKICAgIH0sCiAgICBrdkpzb246IGZ1bmN0aW9uIGt2SnNvbihqc29uKSB7CiAgICAgIHZhciBrdkpzb24gPSB7fTsKICAgICAgaWYgKGpzb24pIHsKICAgICAgICB2YXIgdGVtcCA9IEpTT04ucGFyc2UoanNvbik7CiAgICAgICAgdGVtcC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBrdkpzb25baXRlbS52YWx1ZV0gPSBpdGVtLmxhYmVsOwogICAgICAgIH0pOwogICAgICAgIGt2SnNvbiA9IEpTT04uc3RyaW5naWZ5KGt2SnNvbik7CiAgICAgIH0KICAgICAgcmV0dXJuIGt2SnNvbjsKICAgIH0sCiAgICAvLyDkv53lrZjphY3nva4KICAgIGhhbmRsZVNhdmU6IGZ1bmN0aW9uIGhhbmRsZVNhdmUoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICBpZiAoIXRoaXMuZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+mFjee9ruaooeadv++8gScpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgZGF0YVBhcmFtcyA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICBkYXRhUGFyYW1zLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgaWYgKF90aGlzMi50ZW1wSWQpIHsKICAgICAgICAgIGl0ZW0udGVtcElkID0gX3RoaXMyLnRlbXBJZDsKICAgICAgICB9CiAgICAgICAgaXRlbS50eXBlID0gX3RoaXMyLnR5cGUgPT0gJ2ltcG9ydCcgPyAyIDogMTsKICAgICAgICBpdGVtLmZpZWxkVHlwZSA9IDE7CiAgICAgICAgZGVsZXRlIGl0ZW0uZGF0YVR5cGU7CiAgICAgICAgZGVsZXRlIGl0ZW0uZmllbGREZXNjOwogICAgICAgIGRlbGV0ZSBpdGVtLmtleTsKICAgICAgICBkZWxldGUgaXRlbS50YWJsZU5hbWU7CiAgICAgICAgZGVsZXRlIGl0ZW0uY29sdW1uQ29tbWVudDsKICAgICAgICBkZWxldGUgaXRlbS5jb2x1bW5OYW1lOwogICAgICB9KTsKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgZXhjZWxUZW1wOiB7CiAgICAgICAgICBpZDogdGhpcy50ZW1wRGF0YS5pZCwKICAgICAgICAgIHRlbXBGaWxlczogdGhpcy50ZW1wRmlsZXMsCiAgICAgICAgICBiaXpDb2RlOiB0aGlzLmJpekNvZGUsCiAgICAgICAgICBkYkRhdGFCYXNlOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy50YWJsZVNjaGVtYSwKICAgICAgICAgIGRiU291cmNlSWQ6IHRoaXMuZGF0YUJhc2VPcHRpb25zLmRhdGFCYXNlSWQsCiAgICAgICAgICBkYlRhYmxlOiB0aGlzLmRhdGFCYXNlT3B0aW9ucy50YWJsZU5hbWUsCiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUgPT0gJ2ltcG9ydCcgPyAyIDogdGhpcy50eXBlID09ICdleHBvcnQnID8gMSA6ICdudWxsJyAvLyDnsbvlnovkuI3lr7nmiqXplJkg57G75Z6L77yIMe+8muWvvOWHuiAy77ya5a+85YWl77yJCiAgICAgICAgfSwKICAgICAgICBmaWVsZHM6IGRhdGFQYXJhbXMKICAgICAgfTsKICAgICAgcG9ydGFsLnNhdmVUZW1wbGF0ZShkYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5zdWNjZXNzKCfkv53lrZjmiJDlip8nKTsKICAgICAgICAgIF90aGlzMi5jbG9zZURpYWxvZygpOwogICAgICAgICAgX3RoaXMyLiRlbWl0KCdyZWxvYWQnKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOi/lOWbnmpzb27otYvlgLwKICAgIGhhbmRsZUdldEpTb246IGZ1bmN0aW9uIGhhbmRsZUdldEpTb24oanNvbiwgc2NvcGUpIHsKICAgICAgdmFyIHRlbXBSb3cgPSB1dGlscy5kZWVwQ2xvbmUoc2NvcGUucm93KTsKICAgICAgdGVtcFJvdy5maWVsZERhdGFKc29uID0ganNvbjsKICAgICAgdGhpcy5kYXRhLnNwbGljZShzY29wZS4kaW5kZXgsIDEsIHRlbXBSb3cpOwogICAgfSwKICAgIC8vIOe8lui+kWpzb24KICAgIG9wZW5TZXRKc29uOiBmdW5jdGlvbiBvcGVuU2V0SnNvbihzY29wZSkgewogICAgICB0aGlzLiRyZWZzLnNldEpzb24ub3BlbkRpYWxvZyhzY29wZSk7CiAgICB9LAogICAgLy8g5omT5byA6YWN572uCiAgICBvcGVuRGlhbG9nOiBmdW5jdGlvbiBvcGVuRGlhbG9nKHRlbXBJZCkgewogICAgICB0aGlzLnRlbXBJZCA9IHRlbXBJZDsKICAgICAgdGhpcy5kaWFsb2dTaG93ID0gdHJ1ZTsKICAgICAgaWYgKHRlbXBJZCkgewogICAgICAgIHRoaXMubG9hZFRlbXBEYXRhKHRlbXBJZCk7CiAgICAgIH0KCiAgICAgIC8vIOWPlua2iOaLluaLveaOkuW6jwogICAgICAvLyB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgIC8vICAgICB0aGlzLnNldERyYWdnYWJsZSgpCiAgICAgIC8vIH0pCiAgICB9LAogICAgLy8g5p+l6K+i5bey5pyJ6YWN572uCiAgICBsb2FkVGVtcERhdGE6IGZ1bmN0aW9uIGxvYWRUZW1wRGF0YShpZCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgcG9ydGFsLmxvYWRUZW1wRGF0YShpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMzLnRlbXBEYXRhID0gcmVzLmV4Y2VsVGVtcDsKICAgICAgICBfdGhpczMuZGF0YSA9IF90aGlzMy5mb3JtYXREYXRhKHJlcy5maWVsZHMpOwogICAgICAgIF90aGlzMy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOagvOW8j+WMluWbnuWhq+aVsOaNrgogICAgZm9ybWF0RGF0YTogZnVuY3Rpb24gZm9ybWF0RGF0YShkYXRhKSB7CiAgICAgIGRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICBpdGVtLmtleSA9IGluZGV4OwogICAgICAgIGl0ZW0uZmllbGRWaWV3VHlwZSA9IHBhcnNlSW50KGl0ZW0uZmllbGRWaWV3VHlwZSk7CiAgICAgIH0pOwogICAgICByZXR1cm4gZGF0YTsKICAgIH0sCiAgICAvLyDlhbPpl63pobXpnaLph43nva7mlbDmja4KICAgIGNsb3NlRGlhbG9nOiBmdW5jdGlvbiBjbG9zZURpYWxvZygpIHsKICAgICAgdGhpcy5kYXRhID0gW107CiAgICAgIHRoaXMuZGlhbG9nU2hvdyA9IGZhbHNlOwogICAgfSwKICAgIC8vIOaJk+W8gOa3u+WKoOWtl+auteW8ueeqlwogICAgb3BlbkFkZEZpZWxkc0RpYWxvZzogZnVuY3Rpb24gb3BlbkFkZEZpZWxkc0RpYWxvZygpIHsKICAgICAgdGhpcy4kcmVmcy5BZGRGaWVsZHMub3BlbkRpYWxvZygpOwogICAgfSwKICAgIC8vIOWvueixoeaVsOe7hOWOu+mHjQogICAgdW5pcXVlOiBmdW5jdGlvbiB1bmlxdWUoYXJyKSB7CiAgICAgIHZhciByZXMgPSBuZXcgTWFwKCk7CiAgICAgIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uIChhcnIpIHsKICAgICAgICByZXR1cm4gIXJlcy5oYXMoYXJyLmZpZWxkTmFtZSkgJiYgcmVzLnNldChhcnIuZmllbGROYW1lLCAxKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5re75Yqg5a2X5q61CiAgICBoYW5kbGVBZGRGaWVsZHM6IGZ1bmN0aW9uIGhhbmRsZUFkZEZpZWxkcyhyb3cpIHsKICAgICAgdmFyIGFkZEZpZWxkcyA9IHV0aWxzLmRlZXBDbG9uZShyb3cpOwogICAgICB2YXIgb3JpZ2luRmllbGRzID0gdXRpbHMuZGVlcENsb25lKHRoaXMuZGF0YSk7CiAgICAgIHZhciBuZXdUYXJnZXQgPSBvcmlnaW5GaWVsZHMuY29uY2F0KGFkZEZpZWxkcyk7CiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2V4cG9ydCcpIHsKICAgICAgICBuZXdUYXJnZXQuc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgdmFyIG5hbWVBID0gYS5maWVsZE5hbWUudG9VcHBlckNhc2UoKTsKICAgICAgICAgIHZhciBuYW1lQiA9IGIuZmllbGROYW1lLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICBpZiAobmFtZUEgPCBuYW1lQikgewogICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobmFtZUEgPiBuYW1lQikgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSAnaW1wb3J0JykgewogICAgICAgIG5ld1RhcmdldCA9IHRoaXMudW5pcXVlKG5ld1RhcmdldCk7CiAgICAgIH0KICAgICAgbmV3VGFyZ2V0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgaXRlbS5rZXkgPSBpbmRleDsKICAgICAgICBpdGVtLmZpZWxkVmlld1R5cGUgPSAxOwogICAgICAgIGl0ZW0ub3JkZXJJbmRleCA9IGluZGV4OwogICAgICB9KTsKICAgICAgdGhpcy5kYXRhID0gbmV3VGFyZ2V0OwogICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEsICd0aGlzLmRhdGEnKTsKICAgICAgdGhpcy4kZm9yY2VVcGRhdGUoKTsKICAgIH0sCiAgICBoYW5kbGVVcDogZnVuY3Rpb24gaGFuZGxlVXAocm93LCBpbmRleCkgewogICAgICBpZiAoaW5kZXggIT09IDApIHsKICAgICAgICB2YXIgdGFyZ2V0SXRlbSA9IHJvdzsgLy8g5b2T5YmNSXRlbQogICAgICAgIHZhciB1cEl0ZW0gPSB0aGlzLmRhdGFbaW5kZXggLSAxXTsgLy8g5YmN5LiA5LiqSXRlbQogICAgICAgIHZhciB0YXJnZXRJbmRleCA9IHRoaXMuZGF0YVtpbmRleF0ub3JkZXJJbmRleDsgLy8g5b2T5YmNSXRlbUluZGV4CiAgICAgICAgdmFyIHVwSW5kZXggPSB0aGlzLmRhdGFbaW5kZXggLSAxXS5vcmRlckluZGV4OyAvLyDliY3kuIDkuKpJdGVtSW5kZXgKICAgICAgICAvLyDkuqTmjaJvcmRlckluZGV4CiAgICAgICAgdGFyZ2V0SXRlbS5vcmRlckluZGV4ID0gdXBJbmRleDsKICAgICAgICB1cEl0ZW0ub3JkZXJJbmRleCA9IHRhcmdldEluZGV4OwogICAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXggLSAxLCAyLCB0YXJnZXRJdGVtLCB1cEl0ZW0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5bey57uP5aSE5LqO572u6aG277yM5peg5rOV5LiK56e7Jyk7CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVEb3duOiBmdW5jdGlvbiBoYW5kbGVEb3duKHJvdywgaW5kZXgpIHsKICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmRhdGEubGVuZ3RoIC0gMSkgewogICAgICAgIHZhciB0YXJnZXRJdGVtID0gcm93OyAvLyDlvZPliY1JdGVtCiAgICAgICAgdmFyIGRvd25JdGVtID0gdGhpcy5kYXRhW2luZGV4ICsgMV07IC8vIOWJjeS4gOS4qkl0ZW0KICAgICAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLmRhdGFbaW5kZXhdLm9yZGVySW5kZXg7IC8vIOW9k+WJjUl0ZW1JbmRleAogICAgICAgIHZhciBkb3duSW5kZXggPSB0aGlzLmRhdGFbaW5kZXggKyAxXS5vcmRlckluZGV4OyAvLyDliY3kuIDkuKpJdGVtSW5kZXgKICAgICAgICAvLyDkuqTmjaJvcmRlckluZGV4CiAgICAgICAgdGFyZ2V0SXRlbS5vcmRlckluZGV4ID0gZG93bkluZGV4OwogICAgICAgIGRvd25JdGVtLm9yZGVySW5kZXggPSB0YXJnZXRJbmRleDsKICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGluZGV4LCAyLCBkb3duSXRlbSwgdGFyZ2V0SXRlbSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCflt7Lnu4/lpITkuo7nva7lupXvvIzml6Dms5XkuIvnp7snKTsKICAgICAgfQogICAgfSwKICAgIC8vIOWIoOmZpOWtl+autQogICAgaGFuZGxlRGVsRmllbGRzOiBmdW5jdGlvbiBoYW5kbGVEZWxGaWVsZHMocm93KSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICBpZiAocm93LmlkKSB7CiAgICAgICAgcG9ydGFsLkRlbGV0ZUV4cG9ydEZpZWxkcyhyb3cuaWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZShfdGhpczQuZGF0YSk7CiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkYXRhLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgIHJldHVybiBpdGVtLmtleSAhPSByb3cua2V5OwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgX3RoaXM0LmRhdGEgPSB0YXJnZXQ7CiAgICAgICAgICAgIF90aGlzNC4kbWVzc2FnZS5zdWNjZXNzKCfliKDpmaTmiJDlip8nKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICAgIHZhciB0YXJnZXQgPSBkYXRhLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgcmV0dXJuIGl0ZW0ua2V5ICE9IHJvdy5rZXk7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5kYXRhID0gdGFyZ2V0OwogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7CiAgICAgIH0KICAgIH0sCiAgICBkZWJvdW5jZTogZnVuY3Rpb24gZGVib3VuY2UoZm4sIGRlbGF5KSB7CiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTsKICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIGZuKCk7CiAgICAgIH0sIGRlbGF5KTsKICAgIH0sCiAgICAvLyDorr7nva7ooajmoLzmi5bmi70KICAgIHNldERyYWdnYWJsZTogZnVuY3Rpb24gc2V0RHJhZ2dhYmxlKCkgewogICAgICB2YXIgdGFibGUgPSB0aGlzLiRyZWZzLkRUVGFibGU7CiAgICAgIHZhciAkZGF0YSA9IHRhYmxlLmRhdGE7CiAgICAgIHZhciB0Ym9keSA9IHRhYmxlLiRlbC5xdWVyeVNlbGVjdG9yKCcuZWwtdGFibGVfX2JvZHktd3JhcHBlciB0Ym9keScpOwogICAgICB2YXIgJHRoaXMgPSB0aGlzOwogICAgICB2YXIgdHJBcnIgPSB0Ym9keS5xdWVyeVNlbGVjdG9yQWxsKCd0cicpOwogICAgICB2YXIgZHJhZ1N0YXJ0WSA9IDA7CiAgICAgIGlmICh0ckFycikgewogICAgICAgIHRyQXJyLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnZHJhZ2dhYmxlJywgdHJ1ZSk7CiAgICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcsIGluZGV4KTsKICAgICAgICB9KTsKICAgICAgfQogICAgICAvLyDlvIDlp4vmi5bmi70KICAgICAgZnVuY3Rpb24gZHJhZ3N0YXJ0KGUpIHsKICAgICAgICBjb25zb2xlLmxvZyhlLCAnZGZzZicpOwogICAgICAgICR0aGlzLmRlYm91bmNlKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGRyYWdTdGFydFkgPSBlLnk7CiAgICAgICAgfSwgNTApOwogICAgICB9CiAgICAgIC8vIOe7k+adn+aLluaLvQogICAgICBmdW5jdGlvbiBkcmFnZW5kKGUpIHsKICAgICAgICBpZiAoIWUudGFyZ2V0KSByZXR1cm47CiAgICAgICAgdmFyIGluZGV4ID0gTnVtYmVyKGUudGFyZ2V0LmRhdGFzZXQuaW5kZXgsIDEwKTsKICAgICAgICB2YXIgdHJIZWlnaHQgPSBlLnRhcmdldC5vZmZzZXRIZWlnaHQgfHwgNDU7CiAgICAgICAgJHRoaXMuZGVib3VuY2UoLyojX19QVVJFX18qL19hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgICAgdmFyIGRWYWwsIGFic1ZhbCwgc3RlcCwgcGFyYW1zOwogICAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgZFZhbCA9IGUueSAtIGRyYWdTdGFydFk7CiAgICAgICAgICAgICAgICBhYnNWYWwgPSBNYXRoLmFicyhkVmFsKTsKICAgICAgICAgICAgICAgIHN0ZXAgPSAwOwogICAgICAgICAgICAgICAgaWYgKCEoYWJzVmFsID49IHRySGVpZ2h0KSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGRWYWwgPiAwKSB7CiAgICAgICAgICAgICAgICAgIHN0ZXAgPSBNYXRoLmZsb29yKGRWYWwgLyB0ckhlaWdodCk7CiAgICAgICAgICAgICAgICAgIGlmIChzdGVwID49ICRkYXRhLmxlbmd0aCAtIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgc3RlcCA9ICRkYXRhLmxlbmd0aCAtIGluZGV4IC0gMTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgc3RlcCA9IE1hdGguY2VpbChkVmFsIC8gdHJIZWlnaHQpOwogICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoc3RlcCkgPiBpbmRleCkgewogICAgICAgICAgICAgICAgICAgIHN0ZXAgPSBpbmRleCAqIC0xOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoIShpbmRleCA9PT0gMCAmJiBzdGVwIDw9IDApKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA3OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5hYnJ1cHQoInJldHVybiIpOwogICAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICAgIGlmICghKGluZGV4ID09PSAkZGF0YS5sZW5ndGggLSAxICYmIHN0ZXAgPj0gMCkpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDk7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgICAgLy8gY29uc3QgcGFyYW1zID0gewogICAgICAgICAgICAgICAgLy8gICAgIGlkOiAkZGF0YVtpbmRleF0uaWQsCiAgICAgICAgICAgICAgICAvLyAgICAgc3RlcDogc3RlcCAqIC0xLAogICAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICAgICAgcGFyYW1zID0gewogICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsCiAgICAgICAgICAgICAgICAgIHN0ZXA6IHN0ZXAgKiAtMQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHBhcmFtcywgJ3BhcmFtcycpOwogICAgICAgICAgICAgICAgJHRoaXMuY2hhbmdlU29ydChwYXJhbXMpOwogICAgICAgICAgICAgICAgLy8gJHRoaXMubG9hZGluZyA9IHRydWUKICAgICAgICAgICAgICAgIC8vIC8vIOWQjuerr+aOpeWPowogICAgICAgICAgICAgICAgLy8gYXdhaXQgJHRoaXMuJGFwaS51cmwuc2V0Q29udGVudFNvcnQocGFyYW1zKQogICAgICAgICAgICAgICAgLy8gLy8g6YeN5paw6I635Y+W5pWw5o2uCiAgICAgICAgICAgICAgICAvLyAkdGhpcy5yZWxvYWREYXRhKCkKICAgICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgICB9KSksIDUwKTsKICAgICAgfQogICAgICB0Ym9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBkcmFnc3RhcnQpOwogICAgICB0Ym9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW5kJywgZHJhZ2VuZCk7CiAgICB9LAogICAgLy8g5ouW5ou957uT5p2f6YeN5paw5o6S5bqPCiAgICBjaGFuZ2VTb3J0OiBmdW5jdGlvbiBjaGFuZ2VTb3J0KHBhcmFtcykgewogICAgICB2YXIgZGF0YSA9IHV0aWxzLmRlZXBDbG9uZSh0aGlzLmRhdGEpOwogICAgICB2YXIgdGFyZ2V0SW5kZXggPSBwYXJhbXMuaW5kZXggLSBwYXJhbXMuc3RlcDsKICAgICAgdmFyIHRhcmdldEl0ZW0gPSBkYXRhLnNwbGljZShwYXJhbXMuaW5kZXgsIDEpOwogICAgICBkYXRhLnNwbGljZSh0YXJnZXRJbmRleCwgMCwgdGFyZ2V0SXRlbVswXSk7CiAgICAgIHRoaXMuZGF0YSA9IGRhdGE7CiAgICAgIHRoaXMuJGZvcmNlVXBkYXRlKCk7CiAgICB9LAogICAgLy8g5Yqo5oCB6K6h566X6KGo5qC855qE6auY5bqm77yM6Ieq6YCC5bqU5b2T5YmN5a655ZmoCiAgICBjYWxjVGFibGVIZWlnaHQ6IGZ1bmN0aW9uIGNhbGNUYWJsZUhlaWdodChkZWxheSkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LnRhYmxlSGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAqIDAuOSAtIDIwMDsKICAgICAgfSwgZGVsYXkgfHwgMCk7CiAgICB9CiAgfQp9Ow=="},null]}