Files
jsowell-charger-web/jsowell-ui/node_modules/.cache/vue-loader/8c8cd9bc203129bfb0c3b4d4a9c96d76.json
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

1 line
31 KiB
JSON

{"remainingRequest":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\src\\views\\member\\memberGroup\\detail.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\src\\views\\member\\memberGroup\\detail.vue","mtime":1747098376095},{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1748394193395},{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1748394193395},{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1748394197445},{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1748394193395},{"path":"D:\\ideaProjects\\jsowell-charger-web\\jsowell-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1748394199226}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBhZGRNZW1iZXIsIHF1ZXJ5TWVtYmVyTGlzdCwgcHJlZmVyZW50aWFsVGVtcGxhdGVzLCBxdWVyeVN0YXRpb25MaXN0LCByZW1vdmVTdGF0aW9uRnJvbU1lbWJlckdyb3VwLCByZW1vdmVNZW1iZXJGcm9tTWVtYmVyR3JvdXAsIHF1ZXJ5TWVtYmVyR3JvdXBDb25zdW1wdGlvbkxpc3QsIHF1ZXJ5Q29uc3VtcHRpb25EZXRhaWxMaXN0QnlWaW5Db2RlIH0gZnJvbSAiQC9hcGkvbWVtYmVyL21lbWJlckdyb3VwIjsNCmltcG9ydCB7IGxpc3RPcmRlciwgdG90YWxEYXRhIH0gZnJvbSAiQC9hcGkvb3JkZXIvb3JkZXIiOw0KaW1wb3J0IHsgZ2V0U3RhdGlvbkxpc3RCeU1lcmNoYW50SWQgfSBmcm9tICJAL2FwaS9waWxlL3N0YXRpb24iOw0KaW1wb3J0IHsgcXVlcnlTdGF0aW9uQmlsbGluZ1RlbXBsYXRlTGlzdCwgZ2V0VGVtcGxhdGUsIHF1ZXJ5U3RhdGlvblByZWZlcmVudGlhbEJpbGxpbmdUZW1wbGF0ZUxpc3QsIHVwZGF0ZUJpbGxpbmdUZW1wbGF0ZSB9IGZyb20gIkAvYXBpL2JpbGxpbmcvdGVtcGxhdGUuanMiOw0KaW1wb3J0IHsgZ2V0RGF5IH0gZnJvbSAiQC91dGlscy9jb21tb24iOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogICAgbmFtZTogJ0pzb3dlbGxVaURldGFpbCcsDQogICAgZGljdHM6IFsnbWVtYmVyX3N0YXR1cycsICdzdGFydF9tb2RlJywgJ3BheV9tb2RlJywgJ3BheV9zdGF0dXMnLCAib3JkZXJfc3RhdHVzIl0sDQogICAgZGF0YSgpIHsNCiAgICAgICAgLy8g6Ieq5a6a5LmJ5qCh6aqMDQogICAgICAgIHZhciB2YWxpZGF0ZVBhc3NBID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gew0KICAgICAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5leGNoYW5nZVJhdGUuZWxlY3RyaWNpdHlQcmljZUEpIHsNCiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+i+k+WFpemHkemineS4jeiDveWkp+S6juWOn+mHkeminScpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHZhbGlkYXRlUGFzc0IgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICAgICAgICBpZiAodmFsdWUgPiB0aGlzLmV4Y2hhbmdlUmF0ZS5zZXJ2aWNlUHJpY2VBKSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfovpPlhaXph5Hpop3kuI3og73lpKfkuo7ljp/ph5Hpop0nKSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB2YWxpZGF0ZVBhc3NDID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gew0KICAgICAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5leGNoYW5nZVJhdGUuZWxlY3RyaWNpdHlQcmljZUIpIHsNCiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+i+k+WFpemHkemineS4jeiDveWkp+S6juWOn+mHkeminScpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHZhbGlkYXRlUGFzc0QgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICAgICAgICBpZiAodmFsdWUgPiB0aGlzLmV4Y2hhbmdlUmF0ZS5zZXJ2aWNlUHJpY2VCKSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfovpPlhaXph5Hpop3kuI3og73lpKfkuo7ljp/ph5Hpop0nKSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB2YWxpZGF0ZVBhc3NFID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gew0KICAgICAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5leGNoYW5nZVJhdGUuZWxlY3RyaWNpdHlQcmljZUMpIHsNCiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+i+k+WFpemHkemineS4jeiDveWkp+S6juWOn+mHkeminScpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHZhbGlkYXRlUGFzc0YgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICAgICAgICBpZiAodmFsdWUgPiB0aGlzLmV4Y2hhbmdlUmF0ZS5zZXJ2aWNlUHJpY2VDKSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfovpPlhaXph5Hpop3kuI3og73lpKfkuo7ljp/ph5Hpop0nKSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB2YWxpZGF0ZVBhc3NHID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gew0KICAgICAgICAgICAgaWYgKHZhbHVlID4gdGhpcy5leGNoYW5nZVJhdGUuZWxlY3RyaWNpdHlQcmljZUQpIHsNCiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+i+k+WFpemHkemineS4jeiDveWkp+S6juWOn+mHkeminScpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHZhbGlkYXRlUGFzc0ggPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICAgICAgICBpZiAodmFsdWUgPiB0aGlzLmV4Y2hhbmdlUmF0ZS5zZXJ2aWNlUHJpY2VEKSB7DQogICAgICAgICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfovpPlhaXph5Hpop3kuI3og73lpKfkuo7ljp/ph5Hpop0nKSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAvLyDpga7nvakNCiAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLA0KICAgICAgICAgICAgb3BlbkFkZE1lbWJlcjogZmFsc2UsDQogICAgICAgICAgICBmcm9tOiB7DQogICAgICAgICAgICAgICAgcGFnZU51bTogMSwNCiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgICAgICAgICAgZ3JvdXBDb2RlOiB0aGlzLiRyb3V0ZS5wYXJhbXMuZ3JvdXBDb2RlLnNwbGl0KCcmJylbMF0sDQogICAgICAgICAgICAgICAgb3JkZXJDb2RlOiBudWxsLA0KICAgICAgICAgICAgICAgIHBpbGVTbjogbnVsbCwNCiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkNvZGU6IG51bGwsDQogICAgICAgICAgICAgICAgbW9iaWxlTnVtYmVyOiBudWxsLA0KICAgICAgICAgICAgICAgIG9yZGVyU3RhdHVzOiBudWxsLA0KICAgICAgICAgICAgICAgIHN0YXRpb25JZDogbnVsbCwNCiAgICAgICAgICAgICAgICBtZXJjaGFudElkOiBudWxsLA0KICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogbnVsbCwNCiAgICAgICAgICAgICAgICBlbmRUaW1lOiBudWxsLA0KICAgICAgICAgICAgICAgIHN0YXJ0U2V0dGxlVGltZTogbnVsbCwNCiAgICAgICAgICAgICAgICBlbmRTZXR0bGVUaW1lOiBudWxsLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7DQogICAgICAgICAgICAgICAgcGFnZU51bTogMSwNCiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgICAgICAgICAgZ3JvdXBDb2RlOiB0aGlzLiRyb3V0ZS5wYXJhbXMuZ3JvdXBDb2RlLnNwbGl0KCcmJylbMF0sDQogICAgICAgICAgICAgICAgbWVyY2hhbnRJZDogbnVsbCwNCiAgICAgICAgICAgICAgICBzdGF0aW9uSWQ6IG51bGwsDQogICAgICAgICAgICAgICAgZ3JvdXBMZXZlbDogbnVsbCwNCiAgICAgICAgICAgICAgICBncm91cFR5cGU6IG51bGwsDQogICAgICAgICAgICAgICAgZGlzY291bnQ6IG51bGwsDQogICAgICAgICAgICAgICAgcGhvbmVOdW1iZXI6IG51bGwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAvLyDorqLljZXnu5Pmnpzpm4YNCiAgICAgICAgICAgIG9yZGVyTGlzdFJlc3VsdDogW10sDQogICAgICAgICAgICB0b3RhbDogMCwNCiAgICAgICAgICAgIG1lbWJlckdyb3VwTGlzdDogW10sDQogICAgICAgICAgICBnZXRUb3RhbDogMCwNCiAgICAgICAgICAgIGRlZmF1bHRJbWc6IFt7IGltZzogcmVxdWlyZSgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9oZWFkUG9ydC5wbmcnKSB9XSwvL+m7mOiupOWktOWDjw0KICAgICAgICAgICAgZ2V0U2l0ZTogZmFsc2UsIC8v5re75Yqg56uZ54K55qGG54q25oCBDQogICAgICAgICAgICBzdGF0aW9uTGlzdDogW10sIC8v56uZ54K55YiX6KGoDQogICAgICAgICAgICBzZWxlY3RTaXRlOiAnJywvL+mAieS4reeahOermeeCuQ0KICAgICAgICAgICAgb3BlbjogZmFsc2UsIC8v5L+u5pS56LS5546HDQogICAgICAgICAgICBleGNoYW5nZVJhdGU6IHsNCiAgICAgICAgICAgICAgICBlbGVjdHJpY2l0eVByaWNlQTogJycsDQogICAgICAgICAgICAgICAgc2VydmljZVByaWNlQTogJycsDQogICAgICAgICAgICAgICAgZWxlY3RyaWNpdHlQcmljZUI6ICcnLA0KICAgICAgICAgICAgICAgIHNlcnZpY2VQcmljZUI6ICcnLA0KICAgICAgICAgICAgICAgIGVsZWN0cmljaXR5UHJpY2VDOiAnJywNCiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJpY2VDOiAnJywNCiAgICAgICAgICAgICAgICBlbGVjdHJpY2l0eVByaWNlRDogJycsDQogICAgICAgICAgICAgICAgc2VydmljZVByaWNlRDogJycsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZXhjaGFuZ2VSYXRlQjogew0KICAgICAgICAgICAgICAgIG1vZGlmeVNlcnZpY2VBOiAnJywNCiAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUE6ICcnLA0KICAgICAgICAgICAgICAgIG1vZGlmeVNlcnZpY2VCOiAnJywNCiAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUI6ICcnLA0KICAgICAgICAgICAgICAgIG1vZGlmeVNlcnZpY2VDOiAnJywNCiAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUM6ICcnLA0KICAgICAgICAgICAgICAgIG1vZGlmeVNlcnZpY2VEOiAnJywNCiAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUQ6ICcnLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIC8vIOagoemqjA0KICAgICAgICAgICAgZGlhbG9nUnVsZXM6IHsNCiAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlQTogWw0KICAgICAgICAgICAgICAgICAgICB7IHZhbGlkYXRvcjogdmFsaWRhdGVQYXNzQSwgdHJpZ2dlcjogJ2JsdXInIH0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5QTogWw0KICAgICAgICAgICAgICAgICAgICB7IHZhbGlkYXRvcjogdmFsaWRhdGVQYXNzQiwgdHJpZ2dlcjogJ2JsdXInIH0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG1vZGlmeVNlcnZpY2VCOiBbDQogICAgICAgICAgICAgICAgICAgIHsgdmFsaWRhdG9yOiB2YWxpZGF0ZVBhc3NDLCB0cmlnZ2VyOiAnYmx1cicgfQ0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgbW9kaWZ5RWxlY3RyaWNpdHlCOiBbDQogICAgICAgICAgICAgICAgICAgIHsgdmFsaWRhdG9yOiB2YWxpZGF0ZVBhc3NELCB0cmlnZ2VyOiAnYmx1cicgfQ0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgbW9kaWZ5U2VydmljZUM6IFsNCiAgICAgICAgICAgICAgICAgICAgeyB2YWxpZGF0b3I6IHZhbGlkYXRlUGFzc0UsIHRyaWdnZXI6ICdibHVyJyB9DQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUM6IFsNCiAgICAgICAgICAgICAgICAgICAgeyB2YWxpZGF0b3I6IHZhbGlkYXRlUGFzc0YsIHRyaWdnZXI6ICdibHVyJyB9DQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlRDogWw0KICAgICAgICAgICAgICAgICAgICB7IHZhbGlkYXRvcjogdmFsaWRhdGVQYXNzRywgdHJpZ2dlcjogJ2JsdXInIH0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5RDogWw0KICAgICAgICAgICAgICAgICAgICB7IHZhbGlkYXRvcjogdmFsaWRhdGVQYXNzSCwgdHJpZ2dlcjogJ2JsdXInIH0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNpdGVzTGlzdDogW10sLy/nq5nngrnliJfooagNCiAgICAgICAgICAgIHN0YXRpb25JZDogJycsLy/nq5nngrlpZA0KICAgICAgICAgICAgdGFnc1RpbWU6IFtdLA0KICAgICAgICAgICAgcXVlcnlTdGF0aW9uOiB7DQogICAgICAgICAgICAgICAgcGFnZU51bTogMSwNCiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgICAgICAgICAgZ3JvdXBDb2RlOiB0aGlzLiRyb3V0ZS5wYXJhbXMuZ3JvdXBDb2RlLnNwbGl0KCcmJylbMF0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc3RhdGlvblRvdGFsOiAwLA0KICAgICAgICAgICAgZ2V0RGlzYWJsZWQ6IGZhbHNlLA0KICAgICAgICAgICAgZ2V0VGl0bGU6ICcnLA0KICAgICAgICAgICAgc3RhdGlvbkJpbGxpbmdUZW1wbGF0ZTogbnVsbCwNCiAgICAgICAgICAgIGNhckxpc3Q6IFtdLCAvL+i9pui+huWIl+ihqA0KICAgICAgICAgICAgY29uc3VtcHRpb25Ub3RhbDogMCwNCiAgICAgICAgICAgIHF1ZXJ5Q2FyOiB7DQogICAgICAgICAgICAgICAgcGFnZU51bTogMSwNCiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAgICAgICAgICAgZ3JvdXBDb2RlOiB0aGlzLiRyb3V0ZS5wYXJhbXMuZ3JvdXBDb2RlLnNwbGl0KCcmJylbMF0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgLy8g6K6i5Y2V5Yib5bu65pe26Ze06IyD5Zu0DQogICAgICAgICAgICBjcmVhdGVUaW1lUmFuZ2U6IFtdLA0KICAgICAgICAgICAgLy8g6K6i5Y2V5Yib5bu657uT5p2f6IyD5Zu0DQogICAgICAgICAgICBzZXR0bGVUaW1lUmFuZ2U6IFtdLA0KICAgICAgICAgICAgdG90YWxEYXRlTGlzdDogW10sDQogICAgICAgICAgICAvLyDmmI7nu4bliJfooagNCiAgICAgICAgICAgIHZlaGljbGVEZXRhaWxzOiBmYWxzZSwNCiAgICAgICAgICAgIGNsb3NlTGlzdDogW10sDQogICAgICAgICAgICBjbG9zZVRvdGFsOiAwLA0KICAgICAgICAgICAgZGV0YWlsUGFyYW1ldGVyczogew0KICAgICAgICAgICAgICAgIHBhZ2VOdW06IDEsDQogICAgICAgICAgICAgICAgcGFnZVNpemU6IDEwLA0KICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogdGhpcy4kcm91dGUucGFyYW1zLmdyb3VwQ29kZS5zcGxpdCgnJicpWzBdLA0KICAgICAgICAgICAgICAgIHZpbkNvZGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICB9LA0KICAgIGFzeW5jIG1vdW50ZWQoKSB7DQogICAgICAgIGNvbnNvbGUubG9nKHRoaXMuJHJvdXRlLnBhcmFtcy5ncm91cENvZGUsIHRoaXMuJHJvdXRlLnBhcmFtcy5ncm91cENvZGUuc3BsaXQoJyYnKVswXSwgdGhpcy4kcm91dGUucGFyYW1zLmdyb3VwQ29kZS5zcGxpdCgnJicpWzFdKTsNCiAgICAgICAgdGhpcy5nZXRNZW1iZXJMaXN0KCk7DQogICAgICAgIHRoaXMuZ2V0U3RhdGlvbkxpc3QoKTsNCiAgICAgICAgYXdhaXQgdGhpcy5kZWZhdWx0RGF0ZSgpOw0KICAgICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7DQogICAgICAgIHRoaXMuZ2V0UXVlcnlNZW1iZXJHcm91cENvbnN1bXB0aW9uTGlzdCgpOw0KICAgIH0sDQogICAgY29tcHV0ZWQ6IHt9LA0KICAgIHdhdGNoOiB7DQogICAgICAgIGNyZWF0ZVRpbWVSYW5nZShuZXdWYWx1ZSwgb2xkVmFsdWUpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJjcmVhdGVUaW1lUmFuZ2Xlj5HnlJ/lj5jljJYiLCBuZXdWYWx1ZSwgb2xkVmFsdWUpOw0KICAgICAgICAgICAgaWYgKG5ld1ZhbHVlICE9IG51bGwgJiYgbmV3VmFsdWUubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgIHRoaXMuZnJvbS5zdGFydFRpbWUgPSBuZXdWYWx1ZVswXTsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uZW5kVGltZSA9IG5ld1ZhbHVlWzFdOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uc3RhcnRUaW1lID0gbnVsbDsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uZW5kVGltZSA9IG51bGw7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIHNldHRsZVRpbWVSYW5nZShuZXdWYWx1ZSwgb2xkVmFsdWUpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJzZXR0bGVUaW1lUmFuZ2Xlj5HnlJ/lj5jljJYiLCBuZXdWYWx1ZSwgb2xkVmFsdWUpOw0KICAgICAgICAgICAgaWYgKG5ld1ZhbHVlICE9IG51bGwgJiYgbmV3VmFsdWUubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgIHRoaXMuZnJvbS5zdGFydFNldHRsZVRpbWUgPSBuZXdWYWx1ZVswXTsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uZW5kU2V0dGxlVGltZSA9IG5ld1ZhbHVlWzFdOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uc3RhcnRTZXR0bGVUaW1lID0gbnVsbDsNCiAgICAgICAgICAgICAgICB0aGlzLmZyb20uZW5kU2V0dGxlVGltZSA9IG51bGw7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgfSwNCiAgICBtZXRob2RzOiB7DQogICAgICAgIGhhbmRsZUFkZE1lbWJlcigpIHsNCiAgICAgICAgICAgIHRoaXMub3BlbkFkZE1lbWJlciA9IHRydWUNCiAgICAgICAgfSwNCiAgICAgICAgLyoqIOa3u+WKoOS8muWRmOaMiemSriAqLw0KICAgICAgICBzdWJtaXRGb3JtKCkgew0KICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5xdWVyeVBhcmFtcyk7DQogICAgICAgICAgICB2YXIgcmVnX3RlbCA9IC9eKDEzWzAtOV18MTRbMDE0NTY4NzldfDE1WzAtMzUtOV18MTZbMjU2N118MTdbMC04XXwxOFswLTldfDE5WzAtMzUtOV0pXGR7OH0kLzsNCiAgICAgICAgICAgIGlmICghcmVnX3RlbC50ZXN0KHRoaXMucXVlcnlQYXJhbXMucGhvbmVOdW1iZXIpKSB7DQogICAgICAgICAgICAgICAgdGhpcy4kbW9kYWwubXNnRXJyb3IoIuivt+ato+ehruWhq+WGmeaCqOeahOaJi+acuuWPt+egge+8gSIpOw0KICAgICAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbXMucGhvbmVOdW1iZXIgPSAnJw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGFkZE1lbWJlcih0aGlzLnF1ZXJ5UGFyYW1zKS50aGVuKHJlc3BvbnNlID0+IHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7DQogICAgICAgICAgICAgICAgdGhpcy4kbW9kYWwubXNnU3VjY2Vzcygi5re75Yqg5oiQ5YqfIik7DQogICAgICAgICAgICAgICAgdGhpcy5vcGVuQWRkTWVtYmVyID0gZmFsc2U7DQogICAgICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5waG9uZU51bWJlciA9ICcnOw0KICAgICAgICAgICAgICAgIHRoaXMuZ2V0TWVtYmVyTGlzdCgpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQogICAgICAgIGNhbmNlbCgpIHsNCiAgICAgICAgICAgIHRoaXMub3BlbkFkZE1lbWJlciA9IGZhbHNlOw0KICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5waG9uZU51bWJlciA9ICcnOw0KICAgICAgICB9LA0KICAgICAgICBnZXRNZW1iZXJMaXN0KCkgew0KICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucXVlcnlQYXJhbXMpOw0KICAgICAgICAgICAgcXVlcnlNZW1iZXJMaXN0KHRoaXMucXVlcnlQYXJhbXMpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICB0aGlzLm1lbWJlckdyb3VwTGlzdCA9IHJlc3BvbnNlLnJvd3M7DQogICAgICAgICAgICAgICAgdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOw0KICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQogICAgICAgIGdldE9yZGVyTGlzdCgpIHsNCiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7DQogICAgICAgICAgICBjb25zb2xlLmxvZygidGhpcy5mcm9tIiwgdGhpcy5mcm9tKTsNCiAgICAgICAgICAgIGxpc3RPcmRlcih0aGlzLmZyb20pLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5vcmRlckxpc3RSZXN1bHQgPSByZXNwb25zZS5yb3dzOw0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJyZXNwb25zZSIsIHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICB0aGlzLmdldFRvdGFsID0gcmVzcG9uc2UudG90YWw7DQogICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCiAgICAgICAgLy/mt7vliqDnq5nngrkNCiAgICAgICAgYWRkYXNpdGUocm93KSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLiRyb3V0ZS5wYXJhbXMuZ3JvdXBDb2RlLnNwbGl0KCcmJylbMV0sIHJvdyk7DQogICAgICAgICAgICAvLyDliKTmlq3mmK/kv67mlLnnq5nngrnov5jmmK/mt7vliqDnq5nngrkNCiAgICAgICAgICAgIGlmIChyb3cuc3RhdGlvbk5hbWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFNpdGUgPSByb3cuc3RhdGlvbk5hbWU7DQogICAgICAgICAgICAgICAgdGhpcy5nZXRUaXRsZSA9ICfkv67mlLnnq5nngrknDQogICAgICAgICAgICAgICAgdGhpcy5nZXRTaXRlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB0aGlzLmdldERpc2FibGVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5SW5mbyhyb3cuc3RhdGlvbklkKTsNCiAgICAgICAgICAgICAgICAvLyDmn6Xor6J2aXDorqHotLnmqKHmnb/or6bmg4UNCiAgICAgICAgICAgICAgICBxdWVyeVN0YXRpb25QcmVmZXJlbnRpYWxCaWxsaW5nVGVtcGxhdGVMaXN0KHJvdy5zdGF0aW9uSWQpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCLpgJrov4fnq5nngrlpZOafpeivonZpcOiuoei0ueaooeadvyByZXN1bHQ6ICIsIHJlc3BvbnNlLnJvd3MsIHJlc3BvbnNlLnJvd3NbMF0udGVtcGxhdGVJZCk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGlvbkJpbGxpbmdUZW1wbGF0ZSA9IHJlc3BvbnNlLnJvd3NbMF0udGVtcGxhdGVJZDsNCiAgICAgICAgICAgICAgICAgICAgZ2V0VGVtcGxhdGUocmVzcG9uc2Uucm93c1swXS50ZW1wbGF0ZUlkKS50aGVuKChyZXNwb25zZSkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIuafpeivonZpcOiuoei0ueaooeadv+ivpuaDhSIsIHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhjaGFuZ2VSYXRlQiA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlQTogcmVzcG9uc2UuZGF0YS5lbGVjdHJpY2l0eVByaWNlQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUE6IHJlc3BvbnNlLmRhdGEuc2VydmljZVByaWNlQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlQjogcmVzcG9uc2UuZGF0YS5lbGVjdHJpY2l0eVByaWNlQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUI6IHJlc3BvbnNlLmRhdGEuc2VydmljZVByaWNlQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlQzogcmVzcG9uc2UuZGF0YS5lbGVjdHJpY2l0eVByaWNlQywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUM6IHJlc3BvbnNlLmRhdGEuc2VydmljZVByaWNlQywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlTZXJ2aWNlRDogcmVzcG9uc2UuZGF0YS5lbGVjdHJpY2l0eVByaWNlRCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnlFbGVjdHJpY2l0eUQ6IHJlc3BvbnNlLmRhdGEuc2VydmljZVByaWNlRCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuJHJvdXRlLnBhcmFtcy5ncm91cENvZGUuc3BsaXQoJyYnKVsxXQ0KICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGl0bGUgPSAn5re75Yqg56uZ54K5Jw0KICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2l0ZSA9IHRydWU7DQogICAgICAgICAgICAgICAgZ2V0U3RhdGlvbkxpc3RCeU1lcmNoYW50SWQodmFsdWUpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnq5nngrknLCByZXNwb25zZSk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGlvbkxpc3QgPSByZXNwb25zZS5kYXRhOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICAvLyDnq5nngrnlvLnmoYblj5bmtojph43nva4NCiAgICAgICAgZ2V0Q2FuY2VsKCkgew0KICAgICAgICAgICAgdGhpcy5nZXRTaXRlID0gZmFsc2U7DQogICAgICAgICAgICB0aGlzLnNlbGVjdFNpdGUgPSAnJzsNCiAgICAgICAgICAgIHRoaXMudGFnc1RpbWUgPSBbXTsNCiAgICAgICAgICAgIHRoaXMuZXhjaGFuZ2VSYXRlID0gew0KICAgICAgICAgICAgICAgIGVsZWN0cmljaXR5UHJpY2VBOiAiIiwNCiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJpY2VBOiAiIiwNCiAgICAgICAgICAgICAgICBlbGVjdHJpY2l0eVByaWNlQjogIiIsDQogICAgICAgICAgICAgICAgc2VydmljZVByaWNlQjogIiIsDQogICAgICAgICAgICAgICAgZWxlY3RyaWNpdHlQcmljZUM6ICIiLA0KICAgICAgICAgICAgICAgIHNlcnZpY2VQcmljZUM6ICIiLA0KICAgICAgICAgICAgICAgIGVsZWN0cmljaXR5UHJpY2VEOiAiIiwNCiAgICAgICAgICAgICAgICBzZXJ2aWNlUHJpY2VEOiAiIiwNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB0aGlzLmV4Y2hhbmdlUmF0ZUIgPSB7DQogICAgICAgICAgICAgICAgbW9kaWZ5U2VydmljZUE6ICIiLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5QTogIiIsDQogICAgICAgICAgICAgICAgbW9kaWZ5U2VydmljZUI6ICIiLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5QjogIiIsDQogICAgICAgICAgICAgICAgbW9kaWZ5U2VydmljZUM6ICIiLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5QzogIiIsDQogICAgICAgICAgICAgICAgbW9kaWZ5U2VydmljZUQ6ICIiLA0KICAgICAgICAgICAgICAgIG1vZGlmeUVsZWN0cmljaXR5RDogIiIsDQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLiRyZWZzWyJleGNoYW5nZVJhdGVCIl0ucmVzZXRGaWVsZHMoKTsNCiAgICAgICAgICAgIHRoaXMuZ2V0RGlzYWJsZWQgPSBmYWxzZTsNCiAgICAgICAgICAgIHRoaXMuc3RhdGlvbkJpbGxpbmdUZW1wbGF0ZSA9IG51bGw7DQogICAgICAgIH0sDQogICAgICAgIC8vIOermeeCueW8ueahhuehruiupA0KICAgICAgICBzaXRlQ29uZmlybWF0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy4kcmVmc1siZXhjaGFuZ2VSYXRlQiJdLnZhbGlkYXRlKHZhbGlkID0+IHsNCiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHsNCiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld09mZmVycyA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdUZW1wbGF0ZUlkOiB0aGlzLnN0YXRpb25CaWxsaW5nVGVtcGxhdGUsDQogICAgICAgICAgICAgICAgICAgICAgICBncm91cENvZGU6IHRoaXMuJHJvdXRlLnBhcmFtcy5ncm91cENvZGUuc3BsaXQoJyYnKVswXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpb25JZDogdGhpcy5zdGF0aW9uSWQsDQogICAgICAgICAgICAgICAgICAgICAgICBlbGVjdHJpY2l0eVByaWNlQTogdGhpcy5leGNoYW5nZVJhdGVCLm1vZGlmeVNlcnZpY2VBLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZVByaWNlQTogdGhpcy5leGNoYW5nZVJhdGVCLm1vZGlmeUVsZWN0cmljaXR5QSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVsZWN0cmljaXR5UHJpY2VCOiB0aGlzLmV4Y2hhbmdlUmF0ZUIubW9kaWZ5U2VydmljZUIsDQogICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlUHJpY2VCOiB0aGlzLmV4Y2hhbmdlUmF0ZUIubW9kaWZ5RWxlY3RyaWNpdHlCLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWxlY3RyaWNpdHlQcmljZUM6IHRoaXMuZXhjaGFuZ2VSYXRlQi5tb2RpZnlTZXJ2aWNlQywNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VQcmljZUM6IHRoaXMuZXhjaGFuZ2VSYXRlQi5tb2RpZnlFbGVjdHJpY2l0eUMsDQogICAgICAgICAgICAgICAgICAgICAgICBlbGVjdHJpY2l0eVByaWNlRDogdGhpcy5leGNoYW5nZVJhdGVCLm1vZGlmeVNlcnZpY2VELA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZVByaWNlRDogdGhpcy5leGNoYW5nZVJhdGVCLm1vZGlmeUVsZWN0cmljaXR5RCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVBcnJheTogdGhpcy5leGNoYW5nZVJhdGUudGltZUFycmF5DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+mqjOivgeaIkOWKnycsIG5ld09mZmVycyk7DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRpb25CaWxsaW5nVGVtcGxhdGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUJpbGxpbmdUZW1wbGF0ZShuZXdPZmZlcnMpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIuaOpeWPo+i/lOWbniIsIHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuS/ruaUueaIkOWKnyIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3RhdGlvbkxpc3QoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldENhbmNlbCgpIC8v6YeN572uDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZlcmVudGlhbFRlbXBsYXRlcyhuZXdPZmZlcnMpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIua3u+WKoOermeeCueS8mOaDoOaooeadvyIsIHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLmt7vliqDmiJDlip8iKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldENhbmNlbCgpIC8v6YeN572uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTdGF0aW9uTGlzdCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn6aqM6K+B5aSx6LSlJyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQogICAgICAgIC8vIOafpeiuoei0ueaooeadv+ivpuaDhQ0KICAgICAgICBxdWVyeUluZm8oc3RhdGlvbklkKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZyhzdGF0aW9uSWQpOw0KICAgICAgICAgICAgdGhpcy5zdGF0aW9uSWQgPSBzdGF0aW9uSWQ7DQogICAgICAgICAgICBxdWVyeVN0YXRpb25CaWxsaW5nVGVtcGxhdGVMaXN0KHN0YXRpb25JZCkudGhlbigocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygi6YCa6L+H56uZ54K5aWTmn6Xor6LorqHotLnmqKHmnb8gcmVzdWx0OiAiLCByZXNwb25zZS5yb3dzLCByZXNwb25zZS5yb3dzWzBdLnRlbXBsYXRlSWQpOw0KICAgICAgICAgICAgICAgIGdldFRlbXBsYXRlKHJlc3BvbnNlLnJvd3NbMF0udGVtcGxhdGVJZCkudGhlbigocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIuafpeivouiuoei0ueaooeadv+ivpuaDhSIsIHJlc3BvbnNlKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGNoYW5nZVJhdGUgPSByZXNwb25zZS5kYXRhOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmR5bmFtaWNUYWdzKCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCiAgICAgICAgZHluYW1pY1RhZ3MoKSB7DQogICAgICAgICAgICBsZXQgdGFncyA9IFtdOw0KICAgICAgICAgICAgdGhpcy5leGNoYW5nZVJhdGUudGltZUFycmF5Lm1hcCgoeCkgPT4gew0KICAgICAgICAgICAgICAgIGxldCB0eXBlOw0KICAgICAgICAgICAgICAgIGxldCBkZXNjOw0KICAgICAgICAgICAgICAgIGlmICh4LnR5cGUgPT09ICIxIikgew0KICAgICAgICAgICAgICAgICAgICB0eXBlID0gImRhbmdlciI7DQogICAgICAgICAgICAgICAgICAgIGRlc2MgPSAi5bCWIjsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHgudHlwZSA9PT0gIjIiKSB7DQogICAgICAgICAgICAgICAgICAgIHR5cGUgPSAid2FybmluZyI7DQogICAgICAgICAgICAgICAgICAgIGRlc2MgPSAi5bOwIjsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHgudHlwZSA9PT0gIjMiKSB7DQogICAgICAgICAgICAgICAgICAgIHR5cGUgPSAic3VjY2VzcyI7DQogICAgICAgICAgICAgICAgICAgIGRlc2MgPSAi5bmzIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0eXBlID0gImluZm8iOw0KICAgICAgICAgICAgICAgICAgICBkZXNjID0gIuiwtyI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGxldCBsYWJlbCA9IGRlc2MgKyAiIC0gIiArIHguc3RhcnRUaW1lICsgIiAtICIgKyB4LmVuZFRpbWU7DQogICAgICAgICAgICAgICAgbGV0IHRhZyA9IHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogdHlwZSwNCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGxhYmVsLA0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgdGFncy5wdXNoKHRhZyk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRoaXMudGFnc1RpbWUgPSB0YWdzDQogICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnRhZ3NUaW1lKTsNCiAgICAgICAgfSwNCiAgICAgICAgLy8g56uZ54K55YiX6KGoDQogICAgICAgIGdldFN0YXRpb25MaXN0KCkgew0KICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgICAgICAgIHF1ZXJ5U3RhdGlvbkxpc3QodGhpcy5xdWVyeVN0YXRpb24pLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnq5nngrnliJfooagnLCByZXNwb25zZSk7DQogICAgICAgICAgICAgICAgdGhpcy5zaXRlc0xpc3QgPSByZXNwb25zZS5yb3dzOw0KICAgICAgICAgICAgICAgIHRoaXMuc3RhdGlvblRvdGFsID0gcmVzcG9uc2UudG90YWw7DQogICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5Yig6Zmk56uZ54K5DQogICAgICAgIGhhbmRsZURlbGV0ZShyb3cpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvdyk7DQogICAgICAgICAgICB0aGlzLiRtb2RhbC5jb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaQiJyArIHJvdy5zdGF0aW9uTmFtZSArICciJykudGhlbihmdW5jdGlvbiAoKSB7IH0pLnRoZW4oKCkgPT4gew0KICAgICAgICAgICAgICAgIGxldCByZW1vdmUgPSB7DQogICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogdGhpcy4kcm91dGUucGFyYW1zLmdyb3VwQ29kZS5zcGxpdCgnJicpWzBdLA0KICAgICAgICAgICAgICAgICAgICBzdGF0aW9uSWQ6IHJvdy5zdGF0aW9uSWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmVtb3ZlU3RhdGlvbkZyb21NZW1iZXJHcm91cChyZW1vdmUpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5Yig6Zmk56uZ54K5JywgcmVzcG9uc2UpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN0YXRpb25MaXN0KCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KS5jYXRjaCgoKSA9PiB7IH0pOw0KICAgICAgICB9LA0KICAgICAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovDQogICAgICAgIGhhbmRsZVF1ZXJ5KCkgew0KICAgICAgICAgICAgdGhpcy5mcm9tLnBhZ2VOdW0gPSAxOw0KICAgICAgICAgICAgLy8g6I635Y+W6K6i5Y2V5YiX6KGoDQogICAgICAgICAgICB0aGlzLmdldE9yZGVyTGlzdCgpOw0KICAgICAgICAgICAgLy8g6I635Y+W6K6i5Y2V5oC76YeR6aKdDQogICAgICAgICAgICB0aGlzLmdldE9yZGVyVG90YWxEYXRhKCk7DQogICAgICAgIH0sDQogICAgICAgIC8qKiDph43nva7mjInpkq7mk43kvZwgKi8NCiAgICAgICAgcmVzZXRRdWVyeSgpIHsNCiAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsNCiAgICAgICAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsNCiAgICAgICAgfSwNCiAgICAgICAgLy/orr7nva7pu5jorqTml6XmnJ8NCiAgICAgICAgZGVmYXVsdERhdGUoKSB7DQogICAgICAgICAgICAvL+Wtl+espuS4suaLvOaOpe+8jOW8gOWni+aXtumXtO+8jOe7k+adn+aXtumXtA0KICAgICAgICAgICAgbGV0IGJlZyA9IGdldERheSgtNykgKyAiIDAwOjAwOjAwIjsgLy/lvZPmnIjnrKzkuIDlpKkNCiAgICAgICAgICAgIGxldCBlbmQgPSBnZXREYXkoMCkgKyAiIDIzOjU5OjU5IjsgLy/lvZPlpKkNCiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGltZVJhbmdlID0gW2JlZywgZW5kXTsNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5Yig6Zmk5Lya5ZGYDQogICAgICAgIGRlbGV0ZU1lbWJlcihyb3cpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvdyk7DQogICAgICAgICAgICB0aGlzLiRtb2RhbC5jb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaTmmLXnp7DkuLoiJyArIHJvdy5uaWNrTmFtZSArICci5Lya5ZGYJykudGhlbihmdW5jdGlvbiAoKSB7IH0pLnRoZW4oKCkgPT4gew0KICAgICAgICAgICAgICAgIGxldCByZW1vdmUgPSB7DQogICAgICAgICAgICAgICAgICAgIGdyb3VwQ29kZTogdGhpcy4kcm91dGUucGFyYW1zLmdyb3VwQ29kZS5zcGxpdCgnJicpWzBdLA0KICAgICAgICAgICAgICAgICAgICBtZW1iZXJJZDogcm93Lm1lbWJlcklkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJlbW92ZU1lbWJlckZyb21NZW1iZXJHcm91cChyZW1vdmUpLnRoZW4ocmVzcG9uc2UgPT4gew0KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5Yig6Zmk56uZ54K5JywgcmVzcG9uc2UpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE1lbWJlckxpc3QoKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0pLmNhdGNoKCgpID0+IHsgfSk7DQogICAgICAgIH0sDQogICAgICAgIC8vIOiOt+WPluiuouWNleaAu+mHkemineaVsOaNrg0KICAgICAgICBnZXRPcmRlclRvdGFsRGF0YSgpIHsNCiAgICAgICAgICAgIHRvdGFsRGF0YSh0aGlzLmZyb20pLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coImdldE9yZGVyVG90YWxEYXRhIiwgcmVzcG9uc2UpOw0KICAgICAgICAgICAgICAgIHRoaXMudG90YWxEYXRlTGlzdCA9IHJlc3BvbnNlLmRhdGE7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCiAgICAgICAgLyoqIOWvvOWHuuaMiemSruaTjeS9nCAqLw0KICAgICAgICBoYW5kbGVFeHBvcnQoKSB7DQogICAgICAgICAgICB0aGlzLmRvd25sb2FkKA0KICAgICAgICAgICAgICAgICJvcmRlci9vcmRlci9leHBvcnQiLA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5mcm9tLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgYG9yZGVyXyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9Lnhsc3hgDQogICAgICAgICAgICApOw0KICAgICAgICB9LA0KICAgICAgICAvLyDojrflj5borqLljZXmgLvph5Hpop3mlbDmja4NCiAgICAgICAgZ2V0UXVlcnlNZW1iZXJHcm91cENvbnN1bXB0aW9uTGlzdCgpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucXVlcnlDYXIsICd0aGlzLnF1ZXJ5Q2FyJyk7DQogICAgICAgICAgICBxdWVyeU1lbWJlckdyb3VwQ29uc3VtcHRpb25MaXN0KHRoaXMucXVlcnlDYXIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coInF1ZXJ5TWVtYmVyR3JvdXBDb25zdW1wdGlvbkxpc3QgIiwgcmVzcG9uc2UpOw0KICAgICAgICAgICAgICAgIHRoaXMuY2FyTGlzdCA9IHJlc3BvbnNlLmRhdGE7DQogICAgICAgICAgICAgICAgdGhpcy5jb25zdW1wdGlvblRvdGFsID0gcmVzcG9uc2UudG90YWw7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5omT5byA6L2m6L6G5YiX6KGo5piO57uGDQogICAgICAgIGRldGFpbHMocm93KSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZyhyb3cpOw0KICAgICAgICAgICAgdGhpcy52ZWhpY2xlRGV0YWlscyA9IHRydWU7DQogICAgICAgICAgICB0aGlzLmRldGFpbFBhcmFtZXRlcnMudmluQ29kZSA9IHJvdy52aW5Db2RlOw0KICAgICAgICAgICAgdGhpcy5nZXRRdWVyeUNvbnN1bXB0aW9uRGV0YWlsTGlzdEJ5VmluQ29kZSgpOw0KICAgICAgICB9LA0KICAgICAgICBnZXRRdWVyeUNvbnN1bXB0aW9uRGV0YWlsTGlzdEJ5VmluQ29kZSgpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZGV0YWlsUGFyYW1ldGVycywgJ2RldGFpbFBhcmFtZXRlcnMnKTsNCiAgICAgICAgICAgIHF1ZXJ5Q29uc3VtcHRpb25EZXRhaWxMaXN0QnlWaW5Db2RlKHRoaXMuZGV0YWlsUGFyYW1ldGVycykudGhlbigocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygicXVlcnlDb25zdW1wdGlvbkRldGFpbExpc3RCeVZpbkNvZGUgIiwgcmVzcG9uc2UpOw0KICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMaXN0ID0gcmVzcG9uc2Uucm93czsNCiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlVG90YWwgPSByZXNwb25zZS50b3RhbDsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KICAgICAgICAvLyDlhbPpl63mmI7nu4blvLnmoYYNCiAgICAgICAgY2xvc2VEZXRhaWxzKCkgew0KICAgICAgICAgICAgdGhpcy52ZWhpY2xlRGV0YWlscyA9IGZhbHNlOw0KICAgICAgICAgICAgdGhpcy5jbG9zZUxpc3QgPSBbXTsNCiAgICAgICAgfSwNCiAgICB9LA0KfTsNCg=="},null]}