{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\tool\\build\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\tool\\build\\index.vue","mtime":1787567871720},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1787309791954},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lmpzb24ucGFyc2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBkcmFnZ2FibGUgZnJvbSAndnVlZHJhZ2dhYmxlJzsKaW1wb3J0IGJlYXV0aWZpZXIgZnJvbSAnanMtYmVhdXRpZnknOwppbXBvcnQgQ2xpcGJvYXJkSlMgZnJvbSAnY2xpcGJvYXJkJzsKaW1wb3J0IHJlbmRlciBmcm9tICdAL3V0aWxzL2dlbmVyYXRvci9yZW5kZXInOwppbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuL1JpZ2h0UGFuZWwnOwppbXBvcnQgeyBpbnB1dENvbXBvbmVudHMsIHNlbGVjdENvbXBvbmVudHMsIGxheW91dENvbXBvbmVudHMsIGZvcm1Db25mIH0gZnJvbSAnQC91dGlscy9nZW5lcmF0b3IvY29uZmlnJzsKaW1wb3J0IHsgYmVhdXRpZmllckNvbmYsIHRpdGxlQ2FzZSB9IGZyb20gJ0AvdXRpbHMvaW5kZXgnOwppbXBvcnQgeyBtYWtlVXBIdG1sLCB2dWVUZW1wbGF0ZSwgdnVlU2NyaXB0LCBjc3NTdHlsZSB9IGZyb20gJ0AvdXRpbHMvZ2VuZXJhdG9yL2h0bWwnOwppbXBvcnQgeyBtYWtlVXBKcyB9IGZyb20gJ0AvdXRpbHMvZ2VuZXJhdG9yL2pzJzsKaW1wb3J0IHsgbWFrZVVwQ3NzIH0gZnJvbSAnQC91dGlscy9nZW5lcmF0b3IvY3NzJzsKaW1wb3J0IHsgZHJhd2luZ0RlZmF1bHRWYWx1ZSwgaW5pdERyYXdpbmdEZWZhdWx0VmFsdWUsIGNsZWFuRHJhd2luZ0RlZmF1bHRWYWx1ZSB9IGZyb20gJ0AvdXRpbHMvZ2VuZXJhdG9yL2RyYXdpbmdEZWZhdWx0JzsKaW1wb3J0IGxvZ28gZnJvbSAnQC9hc3NldHMvbG9nby9sb2dvLnBuZyc7CmltcG9ydCBDb2RlVHlwZURpYWxvZyBmcm9tICcuL0NvZGVUeXBlRGlhbG9nJzsKaW1wb3J0IERyYWdnYWJsZUl0ZW0gZnJvbSAnLi9EcmFnZ2FibGVJdGVtJzsKdmFyIG9sZEFjdGl2ZUlkOwp2YXIgdGVtcEFjdGl2ZURhdGE7CnZhciBjbGlwYm9hcmQgPSBudWxsOwpleHBvcnQgZGVmYXVsdCB7CiAgY29tcG9uZW50czogewogICAgZHJhZ2dhYmxlOiBkcmFnZ2FibGUsCiAgICByZW5kZXI6IHJlbmRlciwKICAgIFJpZ2h0UGFuZWw6IFJpZ2h0UGFuZWwsCiAgICBDb2RlVHlwZURpYWxvZzogQ29kZVR5cGVEaWFsb2csCiAgICBEcmFnZ2FibGVJdGVtOiBEcmFnZ2FibGVJdGVtCiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbG9nbzogbG9nbywKICAgICAgaWRHbG9iYWw6IDEwMCwKICAgICAgZm9ybUNvbmY6IGZvcm1Db25mLAogICAgICBpbnB1dENvbXBvbmVudHM6IGlucHV0Q29tcG9uZW50cywKICAgICAgc2VsZWN0Q29tcG9uZW50czogc2VsZWN0Q29tcG9uZW50cywKICAgICAgbGF5b3V0Q29tcG9uZW50czogbGF5b3V0Q29tcG9uZW50cywKICAgICAgbGFiZWxXaWR0aDogMTAwLAogICAgICBkcmF3aW5nTGlzdDogZHJhd2luZ0RlZmF1bHRWYWx1ZSwKICAgICAgZHJhd2luZ0RhdGE6IHt9LAogICAgICBhY3RpdmVJZDogZHJhd2luZ0RlZmF1bHRWYWx1ZVswXS5mb3JtSWQsCiAgICAgIGRyYXdlclZpc2libGU6IGZhbHNlLAogICAgICBmb3JtRGF0YToge30sCiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBnZW5lcmF0ZUNvbmY6IG51bGwsCiAgICAgIHNob3dGaWxlTmFtZTogZmFsc2UsCiAgICAgIGFjdGl2ZURhdGE6IGRyYXdpbmdEZWZhdWx0VmFsdWVbMF0KICAgIH07CiAgfSwKICBiZWZvcmVDcmVhdGU6IGZ1bmN0aW9uIGJlZm9yZUNyZWF0ZSgpIHsKICAgIGluaXREcmF3aW5nRGVmYXVsdFZhbHVlKCk7CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgLy8g6Ziy5q2iIGZpcmVmb3gg5LiLIOaLluaLvSDkvJrmlrDmiZPljaHkuIDkuKrpgInpobnljaEKICAgIGRvY3VtZW50LmJvZHkub25kcm9wID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICAnYWN0aXZlRGF0YS5sYWJlbCc6IGZ1bmN0aW9uIGFjdGl2ZURhdGFMYWJlbCh2YWwsIG9sZFZhbCkgewogICAgICBpZiAodGhpcy5hY3RpdmVEYXRhLnBsYWNlaG9sZGVyID09PSB1bmRlZmluZWQgfHwgIXRoaXMuYWN0aXZlRGF0YS50YWcgfHwgb2xkQWN0aXZlSWQgIT09IHRoaXMuYWN0aXZlSWQpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5hY3RpdmVEYXRhLnBsYWNlaG9sZGVyID0gdGhpcy5hY3RpdmVEYXRhLnBsYWNlaG9sZGVyLnJlcGxhY2Uob2xkVmFsLCAnJykgKyB2YWw7CiAgICB9LAogICAgYWN0aXZlSWQ6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcih2YWwpIHsKICAgICAgICBvbGRBY3RpdmVJZCA9IHZhbDsKICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIGNsaXBib2FyZCA9IG5ldyBDbGlwYm9hcmRKUygnI2NvcHlOb2RlJywgewogICAgICB0ZXh0OiBmdW5jdGlvbiB0ZXh0KCkgewogICAgICAgIHZhciBjb2RlU3RyID0gX3RoaXMuZ2VuZXJhdGVDb2RlKCk7CiAgICAgICAgX3RoaXMuJG5vdGlmeSh7CiAgICAgICAgICB0aXRsZTogJ+aIkOWKnycsCiAgICAgICAgICBtZXNzYWdlOiAn5Luj56CB5bey5aSN5Yi25Yiw5Ymq5YiH5p2/77yM5Y+v57KY6LS044CCJywKICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBjb2RlU3RyOwogICAgICB9CiAgICB9KTsKICAgIGNsaXBib2FyZC5vbignZXJyb3InLCBmdW5jdGlvbiAoKSB7CiAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKCfku6PnoIHlpI3liLblpLHotKUnKTsKICAgIH0pOwogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIGNsaXBib2FyZC5kZXN0cm95KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBhY3RpdmVGb3JtSXRlbTogZnVuY3Rpb24gYWN0aXZlRm9ybUl0ZW0oZWxlbWVudCkgewogICAgICB0aGlzLmFjdGl2ZURhdGEgPSBlbGVtZW50OwogICAgICB0aGlzLmFjdGl2ZUlkID0gZWxlbWVudC5mb3JtSWQ7CiAgICB9LAogICAgb25FbmQ6IGZ1bmN0aW9uIG9uRW5kKG9iaikgewogICAgICBpZiAob2JqLmZyb20gIT09IG9iai50bykgewogICAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IHRlbXBBY3RpdmVEYXRhOwogICAgICAgIHRoaXMuYWN0aXZlSWQgPSB0aGlzLmlkR2xvYmFsOwogICAgICB9CiAgICB9LAogICAgYWRkQ29tcG9uZW50OiBmdW5jdGlvbiBhZGRDb21wb25lbnQoaXRlbSkgewogICAgICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lQ29tcG9uZW50KGl0ZW0pOwogICAgICB0aGlzLmRyYXdpbmdMaXN0LnB1c2goY2xvbmUpOwogICAgICB0aGlzLmFjdGl2ZUZvcm1JdGVtKGNsb25lKTsKICAgIH0sCiAgICBjbG9uZUNvbXBvbmVudDogZnVuY3Rpb24gY2xvbmVDb21wb25lbnQob3JpZ2luKSB7CiAgICAgIHZhciBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3JpZ2luKSk7CiAgICAgIGNsb25lLmZvcm1JZCA9ICsrdGhpcy5pZEdsb2JhbDsKICAgICAgY2xvbmUuc3BhbiA9IGZvcm1Db25mLnNwYW47CiAgICAgIGNsb25lLnJlbmRlcktleSA9ICtuZXcgRGF0ZSgpOyAvLyDmlLnlj5hyZW5kZXJLZXnlkI7lj6/ku6Xlrp7njrDlvLrliLbmm7TmlrDnu4Tku7YKICAgICAgaWYgKCFjbG9uZS5sYXlvdXQpIGNsb25lLmxheW91dCA9ICdjb2xGb3JtSXRlbSc7CiAgICAgIGlmIChjbG9uZS5sYXlvdXQgPT09ICdjb2xGb3JtSXRlbScpIHsKICAgICAgICBjbG9uZS52TW9kZWwgPSAiZmllbGQiLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkICYmIChjbG9uZS5wbGFjZWhvbGRlciArPSBjbG9uZS5sYWJlbCk7CiAgICAgICAgdGVtcEFjdGl2ZURhdGEgPSBjbG9uZTsKICAgICAgfSBlbHNlIGlmIChjbG9uZS5sYXlvdXQgPT09ICdyb3dGb3JtSXRlbScpIHsKICAgICAgICBkZWxldGUgY2xvbmUubGFiZWw7CiAgICAgICAgY2xvbmUuY29tcG9uZW50TmFtZSA9ICJyb3ciLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5ndXR0ZXIgPSB0aGlzLmZvcm1Db25mLmd1dHRlcjsKICAgICAgICB0ZW1wQWN0aXZlRGF0YSA9IGNsb25lOwogICAgICB9CiAgICAgIHJldHVybiB0ZW1wQWN0aXZlRGF0YTsKICAgIH0sCiAgICBBc3NlbWJsZUZvcm1EYXRhOiBmdW5jdGlvbiBBc3NlbWJsZUZvcm1EYXRhKCkgewogICAgICB0aGlzLmZvcm1EYXRhID0gX29iamVjdFNwcmVhZCh7CiAgICAgICAgZmllbGRzOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHJhd2luZ0xpc3QpKQogICAgICB9LCB0aGlzLmZvcm1Db25mKTsKICAgIH0sCiAgICBnZW5lcmF0ZTogZnVuY3Rpb24gZ2VuZXJhdGUoZGF0YSkgewogICAgICB2YXIgZnVuYyA9IHRoaXNbImV4ZWMiLmNvbmNhdCh0aXRsZUNhc2UodGhpcy5vcGVyYXRpb25UeXBlKSldOwogICAgICB0aGlzLmdlbmVyYXRlQ29uZiA9IGRhdGE7CiAgICAgIGZ1bmMgJiYgZnVuYyhkYXRhKTsKICAgIH0sCiAgICBleGVjUnVuOiBmdW5jdGlvbiBleGVjUnVuKCkgewogICAgICB0aGlzLkFzc2VtYmxlRm9ybURhdGEoKTsKICAgICAgdGhpcy5kcmF3ZXJWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICBleGVjRG93bmxvYWQ6IGZ1bmN0aW9uIGV4ZWNEb3dubG9hZChkYXRhKSB7CiAgICAgIHZhciBjb2RlU3RyID0gdGhpcy5nZW5lcmF0ZUNvZGUoKTsKICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbY29kZVN0cl0sIHsKICAgICAgICB0eXBlOiAndGV4dC9wbGFpbjtjaGFyc2V0PXV0Zi04JwogICAgICB9KTsKICAgICAgdGhpcy4kZG93bmxvYWQuc2F2ZUFzKGJsb2IsIGRhdGEuZmlsZU5hbWUpOwogICAgfSwKICAgIGV4ZWNDb3B5OiBmdW5jdGlvbiBleGVjQ29weSgpIHsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHlOb2RlJykuY2xpY2soKTsKICAgIH0sCiAgICBlbXB0eTogZnVuY3Rpb24gZW1wdHkoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCfnoa7lrpropoHmuIXnqbrmiYDmnInnu4Tku7blkJfvvJ8nLCAn5o+Q56S6JywgewogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczIuZHJhd2luZ0xpc3QgPSBbXTsKICAgICAgICBjbGVhbkRyYXdpbmdEZWZhdWx0VmFsdWUoKTsKICAgICAgfSk7CiAgICB9LAogICAgZHJhd2luZ0l0ZW1Db3B5OiBmdW5jdGlvbiBkcmF3aW5nSXRlbUNvcHkoaXRlbSwgcGFyZW50KSB7CiAgICAgIHZhciBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaXRlbSkpOwogICAgICBjbG9uZSA9IHRoaXMuY3JlYXRlSWRBbmRLZXkoY2xvbmUpOwogICAgICBwYXJlbnQucHVzaChjbG9uZSk7CiAgICAgIHRoaXMuYWN0aXZlRm9ybUl0ZW0oY2xvbmUpOwogICAgfSwKICAgIGNyZWF0ZUlkQW5kS2V5OiBmdW5jdGlvbiBjcmVhdGVJZEFuZEtleShpdGVtKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICBpdGVtLmZvcm1JZCA9ICsrdGhpcy5pZEdsb2JhbDsKICAgICAgaXRlbS5yZW5kZXJLZXkgPSArbmV3IERhdGUoKTsKICAgICAgaWYgKGl0ZW0ubGF5b3V0ID09PSAnY29sRm9ybUl0ZW0nKSB7CiAgICAgICAgaXRlbS52TW9kZWwgPSAiZmllbGQiLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgfSBlbHNlIGlmIChpdGVtLmxheW91dCA9PT0gJ3Jvd0Zvcm1JdGVtJykgewogICAgICAgIGl0ZW0uY29tcG9uZW50TmFtZSA9ICJyb3ciLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgfQogICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSkgewogICAgICAgIGl0ZW0uY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuLm1hcChmdW5jdGlvbiAoY2hpbGRJdGVtKSB7CiAgICAgICAgICByZXR1cm4gX3RoaXMzLmNyZWF0ZUlkQW5kS2V5KGNoaWxkSXRlbSk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGl0ZW07CiAgICB9LAogICAgZHJhd2luZ0l0ZW1EZWxldGU6IGZ1bmN0aW9uIGRyYXdpbmdJdGVtRGVsZXRlKGluZGV4LCBwYXJlbnQpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHBhcmVudC5zcGxpY2UoaW5kZXgsIDEpOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGxlbiA9IF90aGlzNC5kcmF3aW5nTGlzdC5sZW5ndGg7CiAgICAgICAgaWYgKGxlbikgewogICAgICAgICAgX3RoaXM0LmFjdGl2ZUZvcm1JdGVtKF90aGlzNC5kcmF3aW5nTGlzdFtsZW4gLSAxXSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZW5lcmF0ZUNvZGU6IGZ1bmN0aW9uIGdlbmVyYXRlQ29kZSgpIHsKICAgICAgdmFyIHR5cGUgPSB0aGlzLmdlbmVyYXRlQ29uZi50eXBlOwogICAgICB0aGlzLkFzc2VtYmxlRm9ybURhdGEoKTsKICAgICAgdmFyIHNjcmlwdCA9IHZ1ZVNjcmlwdChtYWtlVXBKcyh0aGlzLmZvcm1EYXRhLCB0eXBlKSk7CiAgICAgIHZhciBodG1sID0gdnVlVGVtcGxhdGUobWFrZVVwSHRtbCh0aGlzLmZvcm1EYXRhLCB0eXBlKSk7CiAgICAgIHZhciBjc3MgPSBjc3NTdHlsZShtYWtlVXBDc3ModGhpcy5mb3JtRGF0YSkpOwogICAgICByZXR1cm4gYmVhdXRpZmllci5odG1sKGh0bWwgKyBzY3JpcHQgKyBjc3MsIGJlYXV0aWZpZXJDb25mLmh0bWwpOwogICAgfSwKICAgIGRvd25sb2FkOiBmdW5jdGlvbiBkb3dubG9hZCgpIHsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5zaG93RmlsZU5hbWUgPSB0cnVlOwogICAgICB0aGlzLm9wZXJhdGlvblR5cGUgPSAnZG93bmxvYWQnOwogICAgfSwKICAgIHJ1bjogZnVuY3Rpb24gcnVuKCkgewogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNob3dGaWxlTmFtZSA9IGZhbHNlOwogICAgICB0aGlzLm9wZXJhdGlvblR5cGUgPSAncnVuJzsKICAgIH0sCiAgICBjb3B5OiBmdW5jdGlvbiBjb3B5KCkgewogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNob3dGaWxlTmFtZSA9IGZhbHNlOwogICAgICB0aGlzLm9wZXJhdGlvblR5cGUgPSAnY29weSc7CiAgICB9LAogICAgdGFnQ2hhbmdlOiBmdW5jdGlvbiB0YWdDaGFuZ2UobmV3VGFnKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICBuZXdUYWcgPSB0aGlzLmNsb25lQ29tcG9uZW50KG5ld1RhZyk7CiAgICAgIG5ld1RhZy52TW9kZWwgPSB0aGlzLmFjdGl2ZURhdGEudk1vZGVsOwogICAgICBuZXdUYWcuZm9ybUlkID0gdGhpcy5hY3RpdmVJZDsKICAgICAgbmV3VGFnLnNwYW4gPSB0aGlzLmFjdGl2ZURhdGEuc3BhbjsKICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRGF0YS50YWc7CiAgICAgIGRlbGV0ZSB0aGlzLmFjdGl2ZURhdGEudGFnSWNvbjsKICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRGF0YS5kb2N1bWVudDsKICAgICAgT2JqZWN0LmtleXMobmV3VGFnKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICBpZiAoX3RoaXM1LmFjdGl2ZURhdGFba2V5XSAhPT0gdW5kZWZpbmVkICYmIF90eXBlb2YoX3RoaXM1LmFjdGl2ZURhdGFba2V5XSkgPT09IF90eXBlb2YobmV3VGFnW2tleV0pKSB7CiAgICAgICAgICBuZXdUYWdba2V5XSA9IF90aGlzNS5hY3RpdmVEYXRhW2tleV07CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdGhpcy5hY3RpdmVEYXRhID0gbmV3VGFnOwogICAgICB0aGlzLnVwZGF0ZURyYXdpbmdMaXN0KG5ld1RhZywgdGhpcy5kcmF3aW5nTGlzdCk7CiAgICB9LAogICAgdXBkYXRlRHJhd2luZ0xpc3Q6IGZ1bmN0aW9uIHVwZGF0ZURyYXdpbmdMaXN0KG5ld1RhZywgbGlzdCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgdmFyIGluZGV4ID0gbGlzdC5maW5kSW5kZXgoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5mb3JtSWQgPT09IF90aGlzNi5hY3RpdmVJZDsKICAgICAgfSk7CiAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgbGlzdC5zcGxpY2UoaW5kZXgsIDEsIG5ld1RhZyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSkgX3RoaXM2LnVwZGF0ZURyYXdpbmdMaXN0KG5ld1RhZywgaXRlbS5jaGlsZHJlbik7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KICB9Cn07"},null]}