imm-element-ui 1.3.6 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -243,6 +243,9 @@ export const convertCol = (options, col, authLevel, dragSort) => {
243
243
  item.autoHeight = true;
244
244
  item.cellClass = 'cell-wrap-text';
245
245
  }
246
+ if (item.fieldType == 'VARCHAR') {
247
+ item.cellDataType = false;
248
+ }
246
249
  if (item.rowSpanConf) {
247
250
  let rowSpan = {
248
251
  rowSpan: (params) => calcRowSpan(params),
@@ -422,4 +425,4 @@ export const pageListGridOptions = (gridOptions, thisArg) => {
422
425
  convertCol(gridOptions, gridOptions.columnDefs, 1);
423
426
  return gridOptions;
424
427
  };
425
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NoYXJlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqQyxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN6QyxHQUFHO0tBQ0QsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXO0tBQzlCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXO0tBQy9DLFdBQVcsRUFBRSxDQUFDLE9BQU87S0FDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7S0FDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENB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VSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBQ0QsSUFBRyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsNENBQTRDO1FBQzdDLElBQUcsV0FBVyxDQUFDLGFBQWEsSUFBSSxNQUFNLEVBQUMsQ0FBQztZQUN2QyxXQUFXLENBQUMsWUFBWSxHQUFHO2dCQUMxQixJQUFJLEVBQUUsV0FBVyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsVUFBVTtnQkFDckUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDdEYsQ0FBQTtRQUNGLENBQUM7YUFBTSxDQUFDO1lBQ1AsV0FBVyxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUE7UUFDckMsQ0FBQztJQUNGLENBQUM7SUFDRCxVQUFVLENBQUMsV0FBVyxFQUFDLFdBQVcsQ0FBQyxVQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakQsT0FBTyxXQUFXLENBQUE7QUFDbkIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHBpcGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XHJcbmltcG9ydCB7IGZvcm1UeXBlVG9Qcm9wcyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xyXG5pbXBvcnQgTlAgZnJvbSAnbnVtYmVyLXByZWNpc2lvbidcclxuZXhwb3J0IGxldCB0b1Bhc2NhbENhc2UgPSAoc3RyOiBzdHJpbmcpID0+XHJcblx0c3RyXHJcblx0XHQucmVwbGFjZSgvXy9nLCAnICcpIC8vIOS4i+WIkue6v+abv+aNouS4uuepuuagvFxyXG5cdFx0LnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMSAkMicpIC8vIOWwj+mpvOWzsOWIhuWJsuS4uuWNleivjVxyXG5cdFx0LnRvTG93ZXJDYXNlKCkgLy8g6L2s5Li65bCP5YaZXHJcblx0XHQuc3BsaXQoL1xccysvKSAvLyDmjInnqbrmoLzliIblibJcclxuXHRcdC5tYXAoKHdvcmQpID0+ICh3b3JkID8gd29yZFswXS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKSA6ICcnKSlcclxuXHRcdC5qb2luKCcnKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVVuaXF1ZUlkID0gKCkgPT4ge1xyXG5cdGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCkudG9TdHJpbmcoMzYpOyAvLyDml7bpl7TmiLPovawzNui/m+WItue8qeefremVv+W6plxyXG5cdGNvbnN0IHJhbmRvbSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA0KTsgLy8g6ZqP5py66YOo5YiGXHJcblx0cmV0dXJuIGAke3RpbWVzdGFtcH0ke3JhbmRvbX1gO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNpcmN1bGFySXRlcmF0b3IgPSAoYXJyYXk6IGFueVtdKSA9PiB7XHJcblx0bGV0IGluZGV4ID0gLTE7XHJcblx0cmV0dXJuIHtcclxuXHRcdG5leHQ6ICgpID0+IHtcclxuXHRcdFx0aW5kZXgrKztcclxuXHRcdFx0cmV0dXJuIGFycmF5W2luZGV4ICUgYXJyYXkubGVuZ3RoXTtcclxuXHRcdH0sXHJcblx0XHRwcmV2OiAoKSA9PiB7XHJcblx0XHRcdGluZGV4LS07XHJcblx0XHRcdHJldHVybiBhcnJheVsoKGluZGV4ICUgYXJyYXkubGVuZ3RoKSArIGFycmF5Lmxlbmd0aCkgJSBhcnJheS5sZW5ndGhdO1xyXG5cdFx0fSxcclxuXHR9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBhcnNlRnVuY3Rpb25zID0gKG9iajogYW55LCBfdGhpczogYW55KTogYW55ID0+IHtcclxuXHRpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcclxuXHRcdC8vIOWwneivleajgOa1i+aYr+WQpuaYr+WHveaVsOWtl+espuS4slxyXG5cdFx0aWYgKChvYmouaW5jbHVkZXMoJz0+JykgfHwgb2JqLmluY2x1ZGVzKCdQcm9taXNlJykpICYmICFpc0pTT05QYXJzYWJsZShvYmopKSB7XHJcblx0XHRcdGNvbnN0IG8gPSBjb21waWxlVHNUb0pzKG9iaik7XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKCfop6PmnpDlh73mlbA6Jywgb2JqKTtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRjb25zdCBzYW5kYm94ID0ge1xyXG5cdFx0XHRcdFx0T2JzZXJ2YWJsZSxcclxuXHRcdFx0XHRcdG9mLFxyXG5cdFx0XHRcdFx0c2hhcmVSZXBsYXksXHJcblx0XHRcdFx0XHRwaXBlLFxyXG5cdFx0XHRcdFx0UHJvbWlzZSwgLy8g5re75YqgIFByb21pc2Ug5YiwIHNhbmRib3hcclxuXHRcdFx0XHRcdGFzeW5jOiB0cnVlLCAvLyDmoIforrDmlK/mjIHlvILmraVcclxuXHRcdFx0XHRcdHJlc29sdmU6IFByb21pc2UucmVzb2x2ZS5iaW5kKFByb21pc2UpLFxyXG5cdFx0XHRcdFx0cmVqZWN0OiBQcm9taXNlLnJlamVjdC5iaW5kKFByb21pc2UpLFxyXG5cdFx0XHRcdFx0TlAsXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0Ly8g5aSE55CGIFByb21pc2Ug5p6E6YCg5Ye95pWw55qE5oOF5Ya1XHJcblx0XHRcdFx0aWYgKG9iai5pbmNsdWRlcygnbmV3IFByb21pc2UnKSkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIG5ldyBGdW5jdGlvbihcclxuXHRcdFx0XHRcdFx0J3NhbmRib3gnLFxyXG5cdFx0XHRcdFx0XHRgXHJcblx0XHRcdFx0XHRcdFx0d2l0aChzYW5kYm94KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gJHtvfTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGAsXHJcblx0XHRcdFx0XHQpLmJpbmQoX3RoaXMpKHNhbmRib3gpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ly8g5aSE55CG5pmu6YCa5Ye95pWw5ZKM566t5aS05Ye95pWwXHJcblx0XHRcdFx0cmV0dXJuIG5ldyBGdW5jdGlvbihcclxuXHRcdFx0XHRcdCdzYW5kYm94JyxcclxuXHRcdFx0XHRcdGBcclxuXHRcdFx0XHRcdFx0d2l0aChzYW5kYm94KSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuICgke299KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YCxcclxuXHRcdFx0XHQpLmJpbmQoX3RoaXMpKHNhbmRib3gpO1xyXG5cdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5lcnJvcign5Ye95pWw6Kej5p6Q5aSx6LSlOicsIGUsICdcXG7ljp/lp4vlrZfnrKbkuLI6Jywgb2JqKTtcclxuXHRcdFx0XHRyZXR1cm4gb2JqO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRpZiAoaXNKU09OUGFyc2FibGUob2JqKSkge1xyXG5cdFx0XHRsZXQganNvbiA9IEpTT04ucGFyc2Uob2JqKTtcclxuXHRcdFx0cmV0dXJuIHBhcnNlRnVuY3Rpb25zKGpzb24sIF90aGlzKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBvYmo7XHJcblx0fVxyXG5cdGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuXHRcdHJldHVybiBvYmoubWFwKChpdGVtOiBhbnkpID0+IHBhcnNlRnVuY3Rpb25zKGl0ZW0sIF90aGlzKSk7XHJcblx0fVxyXG5cdGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwpIHtcclxuXHRcdGNvbnN0IHJlc3VsdDogYW55ID0ge307XHJcblx0XHRmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuXHRcdFx0aWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBwYXJzZUZ1bmN0aW9ucyhvYmpba2V5XSwgX3RoaXMpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0cmV0dXJuIG9iajtcclxufTtcclxuXHJcbi8vIOi+heWKqeWHveaVsO+8muajgOafpeaYr+WQpuWMheWQqyBQcm9taXNlIOaehOmAoOWHveaVsFxyXG5jb25zdCBjb250YWluc1Byb21pc2VDb25zdHJ1Y3RvciA9IChzdHI6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG5cdHJldHVybiAvbmV3XFxzK1Byb21pc2UvLnRlc3Qoc3RyKTtcclxufTtcclxuXHJcbi8vIOS/ruaUuSBjb21waWxlVHNUb0pzIOWHveaVsOS7peabtOWlveWcsOWkhOeQhiBQcm9taXNlXHJcbmV4cG9ydCBjb25zdCBjb21waWxlVHNUb0pzID0gKHRzQ29kZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuXHQvLyDlpoLmnpzmmK8gUHJvbWlzZSDmnoTpgKDlh73mlbDvvIzkuI3pnIDopoHpop3lpJblpITnkIZcclxuXHRpZiAoY29udGFpbnNQcm9taXNlQ29uc3RydWN0b3IodHNDb2RlKSkge1xyXG5cdFx0cmV0dXJuIHRzQ29kZTtcclxuXHR9XHJcblxyXG5cdGNvbnN0IHJlc3VsdCA9IHRzLnRyYW5zcGlsZU1vZHVsZSh0c0NvZGUsIHtcclxuXHRcdGNvbXBpbGVyT3B0aW9uczoge1xyXG5cdFx0XHRtb2R1bGU6IHRzLk1vZHVsZUtpbmQuQ29tbW9uSlMsXHJcblx0XHRcdHRhcmdldDogdHMuU2NyaXB0VGFyZ2V0LkVTMjAxNSxcclxuXHRcdFx0Ly8g5ZCv55So5byC5q2l5Ye95pWw5pSv5oyBXHJcblx0XHRcdGxpYjogWydlczIwMTUnLCAnZXMyMDE1LnByb21pc2UnLCAnZG9tJ10sXHJcblx0XHR9LFxyXG5cdH0pO1xyXG5cdHJldHVybiByZW1vdmVUcmFpbGluZ1NlbWljb2xvbihyZXN1bHQub3V0cHV0VGV4dCk7XHJcbn07XHJcblxyXG5jb25zdCByZW1vdmVUcmFpbGluZ1NlbWljb2xvbiA9IChmdW5jU3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG5cdC8vIOWFiOWOu+mZpOWJjeWQjuepuueZvVxyXG5cdGNvbnN0IHRyaW1tZWQgPSBmdW5jU3RyLnRyaW0oKTtcclxuXHQvLyDlj6rmm7/mjaLmnIDlkI7kuIDkuKrliIblj7fvvIjlpoLmnpzlroPkuI3lnKjoirHmi6zlj7flhoXvvIlcclxuXHRpZiAodHJpbW1lZC5lbmRzV2l0aCgnOycpKSB7XHJcblx0XHRyZXR1cm4gdHJpbW1lZC5zbGljZSgwLCAtMSk7XHJcblx0fVxyXG5cdHJldHVybiB0cmltbWVkO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzSlNPTlBhcnNhYmxlID0gKHN0cjogYW55KSA9PiB7XHJcblx0dHJ5IHtcclxuXHRcdEpTT04ucGFyc2Uoc3RyKTtcclxuXHRcdHJldHVybiB0cnVlO1xyXG5cdH0gY2F0Y2ggKGUpIHtcclxuXHRcdC8vIGxldCBzdHJJc09iaiA9IC9cXHtbXn1dKlxcfXxcXFtbXlxcXV0qXFxdLy50ZXN0KHN0cilcclxuXHRcdC8vIGlmKHN0cklzT2JqKXtcclxuXHRcdC8vIFx0Y29uc29sZS5lcnJvcignSlNPTiDop6PmnpDlpLHotKU6JywgZSwgJ1xcbuWOn+Wni+Wtl+espuS4sjonLCBzdHIpXHJcblx0XHQvLyB9XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIOagueaNruaMh+WumueahOmUruaVsOe7hOi/h+a7pOWvueixoVxyXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIC0g6KaB6L+H5ruk55qE5Y6f5aeL5a+56LGhXHJcbiAqIEBwYXJhbSB7QXJyYXl9IGtleXMgLSDpnIDopoHkv53nlZnnmoTplK7mlbDnu4RcclxuICogQHJldHVybnMge09iamVjdH0g6L+H5ruk5ZCO55qE5paw5a+56LGhXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZmlsdGVyT2JqZWN0QnlLZXlzID0gKG9iajogYW55LCBrZXlzOiBzdHJpbmdbXSkgPT4ge1xyXG5cdC8vIOWPguaVsOagoemqjFxyXG5cdGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwgfHwgQXJyYXkuaXNBcnJheShvYmopKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCfnrKzkuIDkuKrlj4LmlbDlv4XpobvmmK/mma7pgJrlr7nosaEnKTtcclxuXHR9XHJcblxyXG5cdGlmICghQXJyYXkuaXNBcnJheShrZXlzKSkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcign56ys5LqM5Liq5Y+C5pWw5b+F6aG75piv5pWw57uEJyk7XHJcblx0fVxyXG5cclxuXHQvLyDkvb/nlKhyZWR1Y2XliJvlu7rmlrDlr7nosaFcclxuXHRyZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYzogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG5cdFx0Ly8g5Y+q5pyJ5b2T5Y6f5a+56LGh5pyJ6K+l5bGe5oCn5pe25omN5re75Yqg5Yiw5paw5a+56LGhXHJcblx0XHRpZiAoa2V5IGluIG9iaikge1xyXG5cdFx0XHRhY2Nba2V5XSA9IG9ialtrZXldO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGFjYztcclxuXHR9LCB7fSk7XHJcbn07XHJcbi8qKlxyXG4gKiDoh6rlrprkuYnlh73mlbDljrvpmaTnqbrlrZfnrKbkuLJcclxuICogQHBhcmFtIGFjdCBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgY29udmVydEFjdCA9IChhY3Q6YW55KSA9PntcclxuXHRhY3QuZm9yRWFjaCgodjphbnkpID0+IHtcclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ2J0bkhpZGRlbicpICYmdHlwZW9mIHYuYnRuSGlkZGVuICE9ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRkZWxldGUgdi5idG5IaWRkZW5cclxuXHRcdH1cclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ2J0bkRpc2FibGVkJykgJiZ0eXBlb2Ygdi5idG5EaXNhYmxlZCAhPSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0ZGVsZXRlIHYuYnRuRGlzYWJsZWRcclxuXHRcdH1cclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ29uQ2xpY2snKSAmJnR5cGVvZiB2Lm9uQ2xpY2sgIT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdGRlbGV0ZSB2Lm9uQ2xpY2tcclxuXHRcdH1cclxuXHR9KVxyXG5cdHJldHVybiBhY3Q7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBmb3JtcGFnZSDpgJrnlKhjb250ZW505Ye95pWw6L2s56e7XHJcbiAqIEBwYXJhbSBjb250ZW50IFxyXG4gKiBAcGFyYW0gdGhpc0FyZ1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNoYW5nZUNvbnRlbnQgPSAoY29udGVudDogYW55LHRoaXNBcmc6YW55KSAgPT57XHJcblx0Ly8gQHRzLWlnbm9yZVxyXG5cdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHRjb250ZW50ID0gcGFyc2VGdW5jdGlvbnMoY29udGVudCx0aGlzQXJnKTtcclxuXHRsZXQgeyBncmlkTGlzdCwgaHJlZkJ0bkxpc3QsIGdldFBybSwgZ3JvdXBzLCBzdGF0dXNLZXksIHN0YXR1cywgc3RhdHVzU3RlcHMsc3RhdHVzQ29uZiA9IG51bGwgfSA9IGNvbnRlbnQ7XHJcblx0aWYgKHN0YXR1c0tleSkge1xyXG5cdFx0dGhpc0FyZy5zdGF0dXNLZXkgPSBzdGF0dXNLZXk7XHJcblx0XHRzdGF0dXNTdGVwcy5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xyXG5cdFx0XHRpZihpc0kxOG4gJiYgKCFpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykgfHwgaXRlbS5pMThuS2V5ID09ICcnKSl7XHJcblx0XHRcdFx0aXRlbS5pMThuS2V5ID0gYHRhYmxlcy4ke2dldFBybS5tb2RlbE5hbWV9LiR7c3RhdHVzS2V5fSR7aXRlbS52YWx1ZX1gXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0dGhpc0FyZy5zdGVwcyA9IHN0YXR1c1N0ZXBzXHJcblx0XHRzdGF0dXNDb25mICYmICh0aGlzQXJnLnN0YXR1c0NvbmYgPSBzdGF0dXNDb25mKVxyXG5cdH1cclxuXHJcblx0dGhpc0FyZy5hY3Rpb25zID0gY29udmVydEFjdChjb250ZW50LmFjdGlvbnMpXHJcblx0Y29udGVudC5mb3JtRGlzYWJsZWQgJiYgKHRoaXNBcmcuZm9ybURpc2FibGVkID0gY29udGVudC5mb3JtRGlzYWJsZWQpO1xyXG5cdHRoaXNBcmcuZ2V0UHJtID0gZ2V0UHJtO1xyXG5cdHRoaXNBcmcuZ2V0UHJtLm9yZ0ZpZWxkID0gY29udGVudC5vcmdGaWVsZCB8fCAnJztcclxuXHR0aGlzQXJnLmdyaWRzID0gW107XHJcblx0bGV0IGZpdGVyUHJlbG9hZHM6YW55W10gPSBbXVxyXG5cclxuXHRjb252ZXJ0Rm9ybSh0aGlzQXJnLGdyb3Vwcyxjb250ZW50LnNvdXJjZURhdGEpXHJcblx0Y29udmVydEdyaWQodGhpc0FyZyxncmlkTGlzdCxmaXRlclByZWxvYWRzKVxyXG5cdFxyXG5cdHRoaXNBcmcuZm9ybURldGFpbCA9IGNvbnRlbnQuZm9ybURldGFpbFxyXG5cdHRoaXNBcmcuc2F2ZUZ1bmMgPSBjb250ZW50LnNhdmVGdW5jXHJcblx0dGhpc0FyZy5pc0xvZyA9IGNvbnRlbnQuc291cmNlRGF0YS5tb2RlbC5sb2c7XHJcblx0dGhpc0FyZy5nZXRQcm1bJ2dldExvZyddID0gY29udGVudC5zb3VyY2VEYXRhLm1vZGVsLmxvZztcclxuXHR0aGlzQXJnLmdldFBybVsnZml0ZXJQcmVsb2FkcyddID0gZml0ZXJQcmVsb2Fkc1xyXG5cdHRoaXNBcmcuaHJlZkJ0bkxpc3QgPSBocmVmQnRuTGlzdDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNhbGNSb3dTcGFuID0gKHBhcmFtczogYW55LCBmaWVsZD86IHN0cmluZykgPT4ge1xyXG5cdGZpZWxkID0gZmllbGQgfHwgcGFyYW1zLmNvbERlZi5maWVsZDtcclxuXHRjb25zdCBjdXJyZW50VmFsdWUgPSBwYXJhbXMuZGF0YVtmaWVsZCFdO1xyXG5cdGNvbnN0IGN1cnJlbnRSb3dJbmRleCA9IHBhcmFtcy5ub2RlLnJvd0luZGV4O1xyXG5cclxuXHRsZXQgcm93U3BhbiA9IDE7XHJcblxyXG5cdGZvciAobGV0IGkgPSBjdXJyZW50Um93SW5kZXggKyAxOyBpIDwgcGFyYW1zLmFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpOyBpKyspIHtcclxuXHRcdGNvbnN0IG5vZGUgPSBwYXJhbXMuYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaSk7XHJcblx0XHRpZiAobm9kZS5kYXRhW2ZpZWxkIV0gPT09IGN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHRyb3dTcGFuKys7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlmIChjdXJyZW50Um93SW5kZXggPiAwICYmIHBhcmFtcy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChjdXJyZW50Um93SW5kZXggLSAxKS5kYXRhW2ZpZWxkIV0gPT09IGN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0cmV0dXJuIDE7XHJcblx0fVxyXG5cdHJldHVybiByb3dTcGFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydENvbCA9IChvcHRpb25zOmFueSxjb2w6IGFueVtdLCBhdXRoTGV2ZWw6bnVtYmVyLGRyYWdTb3J0PzpzdHJpbmcsKSA9PiB7XHJcblx0Ly8gQHRzLWlnbm9yZVxyXG5cdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHQvLyBjb25zb2xlLmxvZygnaXNJMThuLS0tLS0nLGlzSTE4bilcclxuXHRjb2wuZm9yRWFjaCgoaXRlbTogYW55LGluZGV4Om51bWJlcikgPT4ge1xyXG5cdFx0aXRlbS5oaWRlID0gaXRlbS5oaWRlQ29sO1xyXG5cdFx0aWYgKGF1dGhMZXZlbCA8IDMpIHtcclxuXHRcdFx0aXRlbS5lZGl0YWJsZSA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0aWYoZHJhZ1NvcnQgJiYgaW5kZXggPT09MCl7XHJcblx0XHRcdGl0ZW0ucm93RHJhZyA9IHRydWVcclxuXHRcdH1cclxuXHRcdGlmKGlzSTE4biAmJiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBpdGVtLmkxOG5LZXkgPT0gJycpKXtcclxuXHRcdFx0aXRlbS5pMThuS2V5ID0gYHRhYmxlcy4ke29wdGlvbnMubW9kZWxOYW1lfS4ke2l0ZW0uZmllbGR9YFxyXG5cdFx0fVxyXG5cdFx0aWYoaXRlbS5oYXNPd25Qcm9wZXJ0eSgndGV4dFdyYXAnKSAmJiBpdGVtLnRleHRXcmFwKSB7XHJcblx0XHRcdGl0ZW0uYXV0b0hlaWdodCA9IHRydWVcclxuXHRcdFx0aXRlbS5jZWxsQ2xhc3MgPSAnY2VsbC13cmFwLXRleHQnXHJcblx0XHR9XHJcblx0XHRpZihpdGVtLnJvd1NwYW5Db25mKXtcclxuXHRcdFx0bGV0IHJvd1NwYW4gPSB7XHJcblx0XHRcdFx0cm93U3BhbjogKHBhcmFtczogYW55KSA9PiBjYWxjUm93U3BhbihwYXJhbXMpLFxyXG5cdFx0XHRcdGNlbGxSZW5kZXJlcjogJ3Jvd1NwYW5SZW5kZXJlcicsXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyUGFyYW1zOiB7XHJcblx0XHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdE9iamVjdC5hc3NpZ24oaXRlbSxyb3dTcGFuKVxyXG5cdFx0XHRvcHRpb25zLnN1cHByZXNzUm93VHJhbnNmb3JtID0gdHJ1ZVxyXG5cdFx0XHRvcHRpb25zLnJvd0NsYXNzID0gJ3Jvd1NwYW4nXHJcblx0XHR9XHJcblx0XHQvLyBpZihpdGVtLmVkaXRhYmxlKXtcclxuXHRcdC8vIFx0aXRlbS5oZWFkZXJDbGFzcyA9IGl0ZW0uaGFzT3duUHJvcGVydHkoJ2hlYWRlckNsYXNzJykgXHJcblx0XHQvLyBcdFx0PyBgJHtpdGVtLmhlYWRlckNsYXNzfSBlZGl0YWJsZS1jb2x1bW4taGVhZGVyYCBcclxuXHRcdC8vIFx0XHQ6ICdlZGl0YWJsZS1jb2x1bW4taGVhZGVyJ1xyXG5cdFx0Ly8gfVxyXG5cdH0pO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ3JpZE9wdGlvbnNIb29rZXIgPSAoZ3JpZE9wdGlvbnM6IGFueSkgPT4ge1xyXG5cdGdyaWRPcHRpb25zPy5jb2x1bW5EZWZzPy5mb3JFYWNoKChjb2w6IGFueSkgPT4ge1xyXG5cdFx0aWYgKGNvbC5oaWRlQ29sKSB7XHJcblx0XHRcdGNvbC5oaWRlID0gY29sLmhpZGVDb2w7XHJcblx0XHRcdGRlbGV0ZSBjb2wuaGlkZUNvbDtcclxuXHRcdH1cclxuXHRcdC8vIEB0cy1pZ25vcmVcclxuXHRcdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHRcdGlmKCBpc0kxOG4gJiYgKCFjb2wuaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBjb2wuaTE4bktleSA9PSAnJykpe1xyXG5cdFx0XHRcdGNvbC5pMThuS2V5ID0gYHRhYmxlcy4ke2dyaWRPcHRpb25zLm1vZGVsTmFtZX0uJHtjb2wuZmllbGR9YFxyXG5cdFx0XHR9XHJcblx0XHRpZihjb2wuaGFzT3duUHJvcGVydHkoJ3RleHRXcmFwJykgJiYgY29sLnRleHRXcmFwKSB7XHJcblx0XHRcdGNvbC5hdXRvSGVpZ2h0ID0gdHJ1ZVxyXG5cdFx0XHRjb2wuY2VsbENsYXNzID0gJ2NlbGwtd3JhcC10ZXh0J1xyXG5cdFx0fVxyXG5cdFx0aWYoY29sLnJvd1NwYW5Db25mKXtcclxuXHRcdFx0bGV0IHJvd1NwYW4gPSB7XHJcblx0XHRcdFx0cm93U3BhbjogKHBhcmFtczogYW55KSA9PiBjYWxjUm93U3BhbihwYXJhbXMpLFxyXG5cdFx0XHRcdGNlbGxSZW5kZXJlcjogJ3Jvd1NwYW5SZW5kZXJlcicsXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyUGFyYW1zOiB7XHJcblx0XHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdE9iamVjdC5hc3NpZ24oY29sLHJvd1NwYW4pXHJcblx0XHRcdGdyaWRPcHRpb25zLnN1cHByZXNzUm93VHJhbnNmb3JtID0gdHJ1ZVxyXG5cdFx0XHRncmlkT3B0aW9ucy5yb3dDbGFzcyA9ICdyb3dTcGFuJ1xyXG5cdFx0fVxyXG5cdH0pO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydEdyaWQgPSAodGhpc0FyZzphbnksZ3JpZExpc3Q6YW55LGZpdGVyUHJlbG9hZHM6YW55KSA9PiB7XHJcblx0Z3JpZExpc3QuZm9yRWFjaChhc3luYyAoaXRlbTogYW55KSA9PiB7XHJcblx0XHQhaXRlbS50eXBlICYmIChpdGVtLnR5cGUgPSAnZ3JpZCcpXHJcblx0XHRsZXQgZ3JpZDphbnkgPSB7dHlwZTppdGVtLnR5cGV9XHJcblx0XHRpZihpdGVtLmZpdGVyUHJlbG9hZHMgaW5zdGFuY2VvZiBBcnJheSl7XHJcblx0XHRcdGZpdGVyUHJlbG9hZHMgPSBbLi4uZml0ZXJQcmVsb2FkcywgLi4uaXRlbS5maXRlclByZWxvYWRzXVxyXG5cdFx0fVxyXG5cdFx0aWYoaXRlbS50eXBlID09ICdncmlkJyl7XHJcblx0XHRcdGxldCB7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnM6IHsgY29sdW1uRGVmcywgLi4ucmVzdEdyaWRPcHRpb25zIH0sXHJcblx0XHRcdFx0c3ViVGFibGVTb3VyY2UsXHJcblx0XHRcdFx0c3ViRGF0YUtleSxcclxuXHRcdFx0XHR0aXRsZSxcclxuXHRcdFx0XHRzZWxlY3REYXRhQ2IsXHJcblx0XHRcdFx0ZmssXHJcblx0XHRcdFx0bWFpbkZpZWxkLFxyXG5cdFx0XHRcdHVuaXF1ZUZpZWxkLFxyXG5cdFx0XHRcdGFkZERhdGFDYixcclxuXHRcdFx0XHRzaG93RGVsZXRlID0gdHJ1ZSxcclxuXHRcdFx0XHRzY3JvbGxIZWlnaHQsXHJcblx0XHRcdFx0ZHJhZ1NvcnQsXHJcblx0XHRcdFx0c2VsZWN0aW9uTW9kZSxcclxuXHRcdFx0XHRpc1Jvd1NlbGVjdGFibGUsXHJcblx0XHRcdFx0YWRkU29ydFxyXG5cdFx0XHR9ID0gaXRlbTtcclxuXHRcdFx0Z3JpZCA9IHsgc3ViVGFibGVTb3VyY2UsIHN1YkRhdGFLZXksIHRpdGxlLHNob3dEZWxldGUsIC4uLmdyaWR9O1xyXG5cdFx0XHRsZXQgZ3JpZE9wdGlvbnMgPSB7XHJcblx0XHRcdFx0Li4ucmVzdEdyaWRPcHRpb25zLFxyXG5cdFx0XHRcdGZrLFxyXG5cdFx0XHRcdHN1YlRhYmxlU291cmNlLFxyXG5cdFx0XHRcdHN1YkRhdGFLZXksXHJcblx0XHRcdFx0bWFpbkZpZWxkLFxyXG5cdFx0XHR9O1xyXG5cdFx0XHQvLyBAdHMtaWdub3JlXHJcblx0XHRcdGlmKHdpbmRvdy5hcHBJc0kxOG4gJiYgKCFpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykgfHwgaXRlbS5pMThuS2V5ID09ICcnKSl7XHJcblx0XHRcdFx0Z3JpZC5pMThuS2V5ID0gYHRhYmxlcy4ke3RoaXNBcmcuZ2V0UHJtLm1vZGVsTmFtZX0uJHtzdWJEYXRhS2V5fWBcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT0gJ2NsaWVudFNpZGUnKXtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd1ZpcnR1YWxpc2F0aW9uID0gdHJ1ZVxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKHNjcm9sbEhlaWdodCl7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMuc2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsSGVpZ2h0XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoZHJhZ1NvcnQpe1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnJvd0RyYWdNYW5hZ2VkID0gdHJ1ZVxyXG5cdFx0XHRcdGdyaWRPcHRpb25zLmRyYWdTb3J0ID0gZHJhZ1NvcnRcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihzZWxlY3Rpb25Nb2RlKSB7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSA9IHNlbGVjdGlvbk1vZGVcclxuXHRcdFx0XHRpZihzZWxlY3Rpb25Nb2RlICE9ICdub25lJyl7XHJcblx0XHRcdFx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB7XHJcblx0XHRcdFx0XHRcdG1vZGU6IHNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScgPyAnc2luZ2xlUm93JyA6ICdtdWx0aVJvdycsXHJcblx0XHRcdFx0XHRcdGlzUm93U2VsZWN0YWJsZTogaXNSb3dTZWxlY3RhYmxlID8gaXNSb3dTZWxlY3RhYmxlOm51bGxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdCAgZ3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0gdW5kZWZpbmVkXHJcblx0XHRcdCBcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRjb252ZXJ0Q29sKGdyaWRPcHRpb25zLGNvbHVtbkRlZnMsdGhpc0FyZy5hdXRoTGV2ZWwsZHJhZ1NvcnQpO1xyXG5cdFx0XHRncmlkT3B0aW9ucy5jb2x1bW5EZWZzID0gY29sdW1uRGVmcztcclxuXHRcdFx0aWYgKHN1YlRhYmxlU291cmNlID09PSAnc2VsZWN0Jykge1xyXG5cdFx0XHRcdHRoaXNBcmcud2ViZ2V0KHsgY29kZTogaXRlbS5zZWxlY3RNb2RlbENvZGUgfSkuc3Vic2NyaWJlKChyZXM6YW55KSA9PiB7XHJcblx0XHRcdFx0XHRsZXQgc2VsZWN0Q29udGVudCA9IHBhcnNlRnVuY3Rpb25zKEpTT04ucGFyc2UocmVzLmNvbnRlbnQpLCB0aGlzQXJnKTtcclxuXHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucyA9IHNlbGVjdENvbnRlbnQ/LmdyaWRPcHRpb25zO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLnJvd01vZGVsVHlwZSA9IGdyaWQuc2VsZWN0T3B0aW9ucy5yb3dNb2RlbFR5cGUgfHwgJ3NlcnZlclNpZGUnO1xyXG5cdFx0XHRcdFx0aWYgKGdyaWQuc2VsZWN0T3B0aW9ucy5yb3dNb2RlbFR5cGUgPT0gJ3NlcnZlclNpZGUnKSB7XHJcblx0XHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5zZXJ2ZXJGdW5jID0gZ3JpZC5zZWxlY3RPcHRpb25zLnNlcnZlckZ1bmMgfHwgdGhpc0FyZy53ZWJfc2VhcmNoLmJpbmQodGhpc0FyZyk7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuY2xpZW50RnVuYyA9IGdyaWQuc2VsZWN0T3B0aW9ucy5jbGllbnRGdW5jIHx8IHRoaXNBcmcud2ViX3NlYXJjaC5iaW5kKHRoaXNBcmcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Z3JpZC51bmlxdWVGaWVsZCA9IHVuaXF1ZUZpZWxkO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3REYXRhQ2IgPSBzZWxlY3REYXRhQ2I7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuc2Nyb2xsSGVpZ2h0ID0gJzMwMHB4JztcclxuXHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5zZWFyY2hQcm0gPSBzZWxlY3RDb250ZW50LnNlYXJjaFBybVxyXG5cdFx0XHRcdFx0Y29udmVydENvbChncmlkLnNlbGVjdE9wdGlvbnMsZ3JpZC5zZWxlY3RPcHRpb25zLmNvbHVtbkRlZnMhLDEpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGdyaWQuc2VhcmNoUHJtID0geyAuLi50aGlzQXJnLnNlYXJjaFBybSB9O1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGFkZERhdGFDYiAmJiAoZ3JpZE9wdGlvbnMuYWRkRGF0YUNiID0gYWRkRGF0YUNiKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRncmlkLmdyaWRPcHRpb25zID0gZ3JpZE9wdGlvbnM7XHJcblx0XHRcdGFkZFNvcnQgJiYgKGdyaWQuYWRkU29ydCA9IGFkZFNvcnQpXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpdGVtLmludGVyYWN0aXZlTGFiZWwgPSB0cnVlXHJcblx0XHRcdGdyaWQgPSB7XHJcblx0XHRcdFx0Li4uaXRlbVxyXG5cdFx0XHR9XHJcblx0XHRcdGdyaWQuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblx0XHR9XHJcblx0XHR0aGlzQXJnLmdyaWRzLnB1c2goZ3JpZCk7XHJcblx0fSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0Rm9ybSA9ICh0aGlzQXJnOmFueSwgZ3JvdXBBcnI6YW55LHNvdXJjZURhdGE6YW55KSA9PiB7XHJcblx0Z3JvdXBBcnIuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcblx0XHRpZiAodGhpc0FyZy5hdXRoTGV2ZWwgPCAzKSB7XHJcblx0XHRcdGl0ZW1bZm9ybVR5cGVUb1Byb3BzW2l0ZW0udHlwZV1dLmRpc2FibGVkID0gdHJ1ZTtcclxuXHRcdH1cclxuXHR9KTtcclxuXHR0aGlzQXJnLmZvcm1PcHRpb25zID0ge1xyXG5cdFx0ZmllbGRzOiBbXHJcblx0XHRcdHtcclxuXHRcdFx0XHRncm91cENsYXNzOiAnZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAnLFxyXG5cdFx0XHRcdGdyb3VwOiBncm91cEFycixcclxuXHRcdFx0fSxcclxuXHRcdF0sXHJcblx0XHRmb3JtOiBuZXcgRm9ybUdyb3VwKHt9KSxcclxuXHRcdG1haW5GaWVsZDogc291cmNlRGF0YS5tb2RlbC5tYWluRmllbGRzLFxyXG5cdFx0bW9kZWxOYW1lOiBzb3VyY2VEYXRhLm1vZGVsLm1vZGVsTmFtZSxcclxuXHRcdGV4dHJhOiB7dGhpc0FyZ31cclxuXHR9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY2xlYXJMb2NhbCA9ICgpID0+IHtcclxuXHRsZXQgdGhlbWVDb25maWdTdGF0ZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWVDb25maWdTdGF0ZScpXHJcblx0d2luZG93LmxvY2FsU3RvcmFnZS5jbGVhcigpXHJcblx0aWYodGhlbWVDb25maWdTdGF0ZSl7XHJcblx0XHR3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RoZW1lQ29uZmlnU3RhdGUnLHRoZW1lQ29uZmlnU3RhdGUpXHJcblx0fVxyXG5cdHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBwYWdlTGlzdEdyaWRPcHRpb25zID0gKGdyaWRPcHRpb25zOiBhbnksdGhpc0FyZzphbnkpID0+IHtcclxuXHRncmlkT3B0aW9ucy5zY3JvbGxIZWlnaHQgPSAnY2FsYygxMDB2aCAtIDk1cHgpJztcclxuXHRncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPSBncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgfHwgJ3NlcnZlclNpZGUnO1xyXG5cdGlmIChncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT0gJ3NlcnZlclNpZGUnKSB7XHJcblx0XHRncmlkT3B0aW9ucy5zZXJ2ZXJGdW5jID0gZ3JpZE9wdGlvbnMuc2VydmVyRnVuYyB8fCB0aGlzQXJnLndlYl9zZWFyY2guYmluZCh0aGlzQXJnKTtcclxuXHR9IGVsc2Uge1xyXG5cdFx0Z3JpZE9wdGlvbnMuY2xpZW50RnVuYyA9IGdyaWRPcHRpb25zLmNsaWVudEZ1bmMgfHwgdGhpc0FyZy53ZWJfc2VhcmNoLmJpbmQodGhpc0FyZyk7XHJcblx0fVxyXG5cdGlmKGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUpIHtcclxuXHRcdFx0Ly8gZ3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSA9IHNlbGVjdGlvbk1vZGVcclxuXHRcdGlmKGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUgIT0gJ25vbmUnKXtcclxuXHRcdFx0Z3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0ge1xyXG5cdFx0XHRcdG1vZGU6IGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScgPyAnc2luZ2xlUm93JyA6J211bHRpUm93JyxcclxuXHRcdFx0XHRpc1Jvd1NlbGVjdGFibGU6IGdyaWRPcHRpb25zLmlzUm93U2VsZWN0YWJsZSA/IGdyaWRPcHRpb25zLmlzUm93U2VsZWN0YWJsZSA6IHVuZGVmaW5lZFxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB1bmRlZmluZWRcclxuXHRcdH1cclxuXHR9XHJcblx0Y29udmVydENvbChncmlkT3B0aW9ucyxncmlkT3B0aW9ucy5jb2x1bW5EZWZzISwxKVxyXG5cdHJldHVybiBncmlkT3B0aW9uc1xyXG59Il19
428
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NoYXJlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqQyxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN6QyxHQUFHO0tBQ0QsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXO0tBQzlCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXO0tBQy9DLFdBQVcsRUFBRSxDQUFDLE9BQU87S0FDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7S0FDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENB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QU8sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7U0FBTSxDQUFDO1FBQ1AsV0FBVyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxJQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3Qiw0Q0FBNEM7UUFDN0MsSUFBRyxXQUFXLENBQUMsYUFBYSxJQUFJLE1BQU0sRUFBQyxDQUFDO1lBQ3ZDLFdBQVcsQ0FBQyxZQUFZLEdBQUc7Z0JBQzFCLElBQUksRUFBRSxXQUFXLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxVQUFVO2dCQUNyRSxlQUFlLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUN0RixDQUFBO1FBQ0YsQ0FBQzthQUFNLENBQUM7WUFDUCxXQUFXLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0YsQ0FBQztJQUNELFVBQVUsQ0FBQyxXQUFXLEVBQUMsV0FBVyxDQUFDLFVBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUNqRCxPQUFPLFdBQVcsQ0FBQTtBQUNuQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgcGlwZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcclxuaW1wb3J0IHsgZm9ybVR5cGVUb1Byb3BzIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XHJcbmltcG9ydCBOUCBmcm9tICdudW1iZXItcHJlY2lzaW9uJ1xyXG5leHBvcnQgbGV0IHRvUGFzY2FsQ2FzZSA9IChzdHI6IHN0cmluZykgPT5cclxuXHRzdHJcclxuXHRcdC5yZXBsYWNlKC9fL2csICcgJykgLy8g5LiL5YiS57q/5pu/5o2i5Li656m65qC8XHJcblx0XHQucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywgJyQxICQyJykgLy8g5bCP6am85bOw5YiG5Ymy5Li65Y2V6K+NXHJcblx0XHQudG9Mb3dlckNhc2UoKSAvLyDovazkuLrlsI/lhplcclxuXHRcdC5zcGxpdCgvXFxzKy8pIC8vIOaMieepuuagvOWIhuWJslxyXG5cdFx0Lm1hcCgod29yZCkgPT4gKHdvcmQgPyB3b3JkWzBdLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpIDogJycpKVxyXG5cdFx0LmpvaW4oJycpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVW5pcXVlSWQgPSAoKSA9PiB7XHJcblx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKS50b1N0cmluZygzNik7IC8vIOaXtumXtOaIs+i9rDM26L+b5Yi257yp55+t6ZW/5bqmXHJcblx0Y29uc3QgcmFuZG9tID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDQpOyAvLyDpmo/mnLrpg6jliIZcclxuXHRyZXR1cm4gYCR7dGltZXN0YW1wfSR7cmFuZG9tfWA7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlQ2lyY3VsYXJJdGVyYXRvciA9IChhcnJheTogYW55W10pID0+IHtcclxuXHRsZXQgaW5kZXggPSAtMTtcclxuXHRyZXR1cm4ge1xyXG5cdFx0bmV4dDogKCkgPT4ge1xyXG5cdFx0XHRpbmRleCsrO1xyXG5cdFx0XHRyZXR1cm4gYXJyYXlbaW5kZXggJSBhcnJheS5sZW5ndGhdO1xyXG5cdFx0fSxcclxuXHRcdHByZXY6ICgpID0+IHtcclxuXHRcdFx0aW5kZXgtLTtcclxuXHRcdFx0cmV0dXJuIGFycmF5WygoaW5kZXggJSBhcnJheS5sZW5ndGgpICsgYXJyYXkubGVuZ3RoKSAlIGFycmF5Lmxlbmd0aF07XHJcblx0XHR9LFxyXG5cdH07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcGFyc2VGdW5jdGlvbnMgPSAob2JqOiBhbnksIF90aGlzOiBhbnkpOiBhbnkgPT4ge1xyXG5cdGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xyXG5cdFx0Ly8g5bCd6K+V5qOA5rWL5piv5ZCm5piv5Ye95pWw5a2X56ym5LiyXHJcblx0XHRpZiAoKG9iai5pbmNsdWRlcygnPT4nKSB8fCBvYmouaW5jbHVkZXMoJ1Byb21pc2UnKSkgJiYgIWlzSlNPTlBhcnNhYmxlKG9iaikpIHtcclxuXHRcdFx0Y29uc3QgbyA9IGNvbXBpbGVUc1RvSnMob2JqKTtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coJ+ino+aekOWHveaVsDonLCBvYmopO1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdGNvbnN0IHNhbmRib3ggPSB7XHJcblx0XHRcdFx0XHRPYnNlcnZhYmxlLFxyXG5cdFx0XHRcdFx0b2YsXHJcblx0XHRcdFx0XHRzaGFyZVJlcGxheSxcclxuXHRcdFx0XHRcdHBpcGUsXHJcblx0XHRcdFx0XHRQcm9taXNlLCAvLyDmt7vliqAgUHJvbWlzZSDliLAgc2FuZGJveFxyXG5cdFx0XHRcdFx0YXN5bmM6IHRydWUsIC8vIOagh+iusOaUr+aMgeW8guatpVxyXG5cdFx0XHRcdFx0cmVzb2x2ZTogUHJvbWlzZS5yZXNvbHZlLmJpbmQoUHJvbWlzZSksXHJcblx0XHRcdFx0XHRyZWplY3Q6IFByb21pc2UucmVqZWN0LmJpbmQoUHJvbWlzZSksXHJcblx0XHRcdFx0XHROUCxcclxuXHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHQvLyDlpITnkIYgUHJvbWlzZSDmnoTpgKDlh73mlbDnmoTmg4XlhrVcclxuXHRcdFx0XHRpZiAob2JqLmluY2x1ZGVzKCduZXcgUHJvbWlzZScpKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gbmV3IEZ1bmN0aW9uKFxyXG5cdFx0XHRcdFx0XHQnc2FuZGJveCcsXHJcblx0XHRcdFx0XHRcdGBcclxuXHRcdFx0XHRcdFx0XHR3aXRoKHNhbmRib3gpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiAke299O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0YCxcclxuXHRcdFx0XHRcdCkuYmluZChfdGhpcykoc2FuZGJveCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyDlpITnkIbmma7pgJrlh73mlbDlkoznrq3lpLTlh73mlbBcclxuXHRcdFx0XHRyZXR1cm4gbmV3IEZ1bmN0aW9uKFxyXG5cdFx0XHRcdFx0J3NhbmRib3gnLFxyXG5cdFx0XHRcdFx0YFxyXG5cdFx0XHRcdFx0XHR3aXRoKHNhbmRib3gpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gKCR7b30pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRgLFxyXG5cdFx0XHRcdCkuYmluZChfdGhpcykoc2FuZGJveCk7XHJcblx0XHRcdH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKCflh73mlbDop6PmnpDlpLHotKU6JywgZSwgJ1xcbuWOn+Wni+Wtl+espuS4sjonLCBvYmopO1xyXG5cdFx0XHRcdHJldHVybiBvYmo7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmIChpc0pTT05QYXJzYWJsZShvYmopKSB7XHJcblx0XHRcdGxldCBqc29uID0gSlNPTi5wYXJzZShvYmopO1xyXG5cdFx0XHRyZXR1cm4gcGFyc2VGdW5jdGlvbnMoanNvbiwgX3RoaXMpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG9iajtcclxuXHR9XHJcblx0aWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG5cdFx0cmV0dXJuIG9iai5tYXAoKGl0ZW06IGFueSkgPT4gcGFyc2VGdW5jdGlvbnMoaXRlbSwgX3RoaXMpKTtcclxuXHR9XHJcblx0aWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iaiAhPT0gbnVsbCkge1xyXG5cdFx0Y29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcclxuXHRcdGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG5cdFx0XHRpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuXHRcdFx0XHRyZXN1bHRba2V5XSA9IHBhcnNlRnVuY3Rpb25zKG9ialtrZXldLCBfdGhpcyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiByZXN1bHQ7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gb2JqO1xyXG59O1xyXG5cclxuLy8g6L6F5Yqp5Ye95pWw77ya5qOA5p+l5piv5ZCm5YyF5ZCrIFByb21pc2Ug5p6E6YCg5Ye95pWwXHJcbmNvbnN0IGNvbnRhaW5zUHJvbWlzZUNvbnN0cnVjdG9yID0gKHN0cjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcblx0cmV0dXJuIC9uZXdcXHMrUHJvbWlzZS8udGVzdChzdHIpO1xyXG59O1xyXG5cclxuLy8g5L+u5pS5IGNvbXBpbGVUc1RvSnMg5Ye95pWw5Lul5pu05aW95Zyw5aSE55CGIFByb21pc2VcclxuZXhwb3J0IGNvbnN0IGNvbXBpbGVUc1RvSnMgPSAodHNDb2RlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG5cdC8vIOWmguaenOaYryBQcm9taXNlIOaehOmAoOWHveaVsO+8jOS4jemcgOimgemineWkluWkhOeQhlxyXG5cdGlmIChjb250YWluc1Byb21pc2VDb25zdHJ1Y3Rvcih0c0NvZGUpKSB7XHJcblx0XHRyZXR1cm4gdHNDb2RlO1xyXG5cdH1cclxuXHJcblx0Y29uc3QgcmVzdWx0ID0gdHMudHJhbnNwaWxlTW9kdWxlKHRzQ29kZSwge1xyXG5cdFx0Y29tcGlsZXJPcHRpb25zOiB7XHJcblx0XHRcdG1vZHVsZTogdHMuTW9kdWxlS2luZC5Db21tb25KUyxcclxuXHRcdFx0dGFyZ2V0OiB0cy5TY3JpcHRUYXJnZXQuRVMyMDE1LFxyXG5cdFx0XHQvLyDlkK/nlKjlvILmraXlh73mlbDmlK/mjIFcclxuXHRcdFx0bGliOiBbJ2VzMjAxNScsICdlczIwMTUucHJvbWlzZScsICdkb20nXSxcclxuXHRcdH0sXHJcblx0fSk7XHJcblx0cmV0dXJuIHJlbW92ZVRyYWlsaW5nU2VtaWNvbG9uKHJlc3VsdC5vdXRwdXRUZXh0KTtcclxufTtcclxuXHJcbmNvbnN0IHJlbW92ZVRyYWlsaW5nU2VtaWNvbG9uID0gKGZ1bmNTdHI6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcblx0Ly8g5YWI5Y676Zmk5YmN5ZCO56m655m9XHJcblx0Y29uc3QgdHJpbW1lZCA9IGZ1bmNTdHIudHJpbSgpO1xyXG5cdC8vIOWPquabv+aNouacgOWQjuS4gOS4quWIhuWPt++8iOWmguaenOWug+S4jeWcqOiKseaLrOWPt+WGhe+8iVxyXG5cdGlmICh0cmltbWVkLmVuZHNXaXRoKCc7JykpIHtcclxuXHRcdHJldHVybiB0cmltbWVkLnNsaWNlKDAsIC0xKTtcclxuXHR9XHJcblx0cmV0dXJuIHRyaW1tZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNKU09OUGFyc2FibGUgPSAoc3RyOiBhbnkpID0+IHtcclxuXHR0cnkge1xyXG5cdFx0SlNPTi5wYXJzZShzdHIpO1xyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fSBjYXRjaCAoZSkge1xyXG5cdFx0Ly8gbGV0IHN0cklzT2JqID0gL1xce1tefV0qXFx9fFxcW1teXFxdXSpcXF0vLnRlc3Qoc3RyKVxyXG5cdFx0Ly8gaWYoc3RySXNPYmope1xyXG5cdFx0Ly8gXHRjb25zb2xlLmVycm9yKCdKU09OIOino+aekOWksei0pTonLCBlLCAnXFxu5Y6f5aeL5a2X56ym5LiyOicsIHN0cilcclxuXHRcdC8vIH1cclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHR9XHJcbn07XHJcblxyXG4vKipcclxuICog5qC55o2u5oyH5a6a55qE6ZSu5pWw57uE6L+H5ruk5a+56LGhXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSDopoHov4fmu6TnmoTljp/lp4vlr7nosaFcclxuICogQHBhcmFtIHtBcnJheX0ga2V5cyAtIOmcgOimgeS/neeVmeeahOmUruaVsOe7hFxyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSDov4fmu6TlkI7nmoTmlrDlr7nosaFcclxuICovXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJPYmplY3RCeUtleXMgPSAob2JqOiBhbnksIGtleXM6IHN0cmluZ1tdKSA9PiB7XHJcblx0Ly8g5Y+C5pWw5qCh6aqMXHJcblx0aWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IG9iaiA9PT0gbnVsbCB8fCBBcnJheS5pc0FycmF5KG9iaikpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ+esrOS4gOS4quWPguaVsOW/hemhu+aYr+aZrumAmuWvueixoScpO1xyXG5cdH1cclxuXHJcblx0aWYgKCFBcnJheS5pc0FycmF5KGtleXMpKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCfnrKzkuozkuKrlj4LmlbDlv4XpobvmmK/mlbDnu4QnKTtcclxuXHR9XHJcblxyXG5cdC8vIOS9v+eUqHJlZHVjZeWIm+W7uuaWsOWvueixoVxyXG5cdHJldHVybiBrZXlzLnJlZHVjZSgoYWNjOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcblx0XHQvLyDlj6rmnInlvZPljp/lr7nosaHmnInor6XlsZ7mgKfml7bmiY3mt7vliqDliLDmlrDlr7nosaFcclxuXHRcdGlmIChrZXkgaW4gb2JqKSB7XHJcblx0XHRcdGFjY1trZXldID0gb2JqW2tleV07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gYWNjO1xyXG5cdH0sIHt9KTtcclxufTtcclxuLyoqXHJcbiAqIOiHquWumuS5ieWHveaVsOWOu+mZpOepuuWtl+espuS4slxyXG4gKiBAcGFyYW0gYWN0IFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0QWN0ID0gKGFjdDphbnkpID0+e1xyXG5cdGFjdC5mb3JFYWNoKCh2OmFueSkgPT4ge1xyXG5cdFx0aWYodi5oYXNPd25Qcm9wZXJ0eSgnYnRuSGlkZGVuJykgJiZ0eXBlb2Ygdi5idG5IaWRkZW4gIT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdGRlbGV0ZSB2LmJ0bkhpZGRlblxyXG5cdFx0fVxyXG5cdFx0aWYodi5oYXNPd25Qcm9wZXJ0eSgnYnRuRGlzYWJsZWQnKSAmJnR5cGVvZiB2LmJ0bkRpc2FibGVkICE9ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRkZWxldGUgdi5idG5EaXNhYmxlZFxyXG5cdFx0fVxyXG5cdFx0aWYodi5oYXNPd25Qcm9wZXJ0eSgnb25DbGljaycpICYmdHlwZW9mIHYub25DbGljayAhPSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0ZGVsZXRlIHYub25DbGlja1xyXG5cdFx0fVxyXG5cdH0pXHJcblx0cmV0dXJuIGFjdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZvcm1wYWdlIOmAmueUqGNvbnRlbnTlh73mlbDovaznp7tcclxuICogQHBhcmFtIGNvbnRlbnQgXHJcbiAqIEBwYXJhbSB0aGlzQXJnXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgY2hhbmdlQ29udGVudCA9IChjb250ZW50OiBhbnksdGhpc0FyZzphbnkpICA9PntcclxuXHQvLyBAdHMtaWdub3JlXHJcblx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4blxyXG5cdGNvbnRlbnQgPSBwYXJzZUZ1bmN0aW9ucyhjb250ZW50LHRoaXNBcmcpO1xyXG5cdGxldCB7IGdyaWRMaXN0LCBocmVmQnRuTGlzdCwgZ2V0UHJtLCBncm91cHMsIHN0YXR1c0tleSwgc3RhdHVzLCBzdGF0dXNTdGVwcyxzdGF0dXNDb25mID0gbnVsbCB9ID0gY29udGVudDtcclxuXHRpZiAoc3RhdHVzS2V5KSB7XHJcblx0XHR0aGlzQXJnLnN0YXR1c0tleSA9IHN0YXR1c0tleTtcclxuXHRcdHN0YXR1c1N0ZXBzLmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcblx0XHRcdGlmKGlzSTE4biAmJiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBpdGVtLmkxOG5LZXkgPT0gJycpKXtcclxuXHRcdFx0XHRpdGVtLmkxOG5LZXkgPSBgdGFibGVzLiR7Z2V0UHJtLm1vZGVsTmFtZX0uJHtzdGF0dXNLZXl9JHtpdGVtLnZhbHVlfWBcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHR0aGlzQXJnLnN0ZXBzID0gc3RhdHVzU3RlcHNcclxuXHRcdHN0YXR1c0NvbmYgJiYgKHRoaXNBcmcuc3RhdHVzQ29uZiA9IHN0YXR1c0NvbmYpXHJcblx0fVxyXG5cclxuXHR0aGlzQXJnLmFjdGlvbnMgPSBjb252ZXJ0QWN0KGNvbnRlbnQuYWN0aW9ucylcclxuXHRjb250ZW50LmZvcm1EaXNhYmxlZCAmJiAodGhpc0FyZy5mb3JtRGlzYWJsZWQgPSBjb250ZW50LmZvcm1EaXNhYmxlZCk7XHJcblx0dGhpc0FyZy5nZXRQcm0gPSBnZXRQcm07XHJcblx0dGhpc0FyZy5nZXRQcm0ub3JnRmllbGQgPSBjb250ZW50Lm9yZ0ZpZWxkIHx8ICcnO1xyXG5cdHRoaXNBcmcuZ3JpZHMgPSBbXTtcclxuXHRsZXQgZml0ZXJQcmVsb2FkczphbnlbXSA9IFtdXHJcblxyXG5cdGNvbnZlcnRGb3JtKHRoaXNBcmcsZ3JvdXBzLGNvbnRlbnQuc291cmNlRGF0YSlcclxuXHRjb252ZXJ0R3JpZCh0aGlzQXJnLGdyaWRMaXN0LGZpdGVyUHJlbG9hZHMpXHJcblx0XHJcblx0dGhpc0FyZy5mb3JtRGV0YWlsID0gY29udGVudC5mb3JtRGV0YWlsXHJcblx0dGhpc0FyZy5zYXZlRnVuYyA9IGNvbnRlbnQuc2F2ZUZ1bmNcclxuXHR0aGlzQXJnLmlzTG9nID0gY29udGVudC5zb3VyY2VEYXRhLm1vZGVsLmxvZztcclxuXHR0aGlzQXJnLmdldFBybVsnZ2V0TG9nJ10gPSBjb250ZW50LnNvdXJjZURhdGEubW9kZWwubG9nO1xyXG5cdHRoaXNBcmcuZ2V0UHJtWydmaXRlclByZWxvYWRzJ10gPSBmaXRlclByZWxvYWRzXHJcblx0dGhpc0FyZy5ocmVmQnRuTGlzdCA9IGhyZWZCdG5MaXN0O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY2FsY1Jvd1NwYW4gPSAocGFyYW1zOiBhbnksIGZpZWxkPzogc3RyaW5nKSA9PiB7XHJcblx0ZmllbGQgPSBmaWVsZCB8fCBwYXJhbXMuY29sRGVmLmZpZWxkO1xyXG5cdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHBhcmFtcy5kYXRhW2ZpZWxkIV07XHJcblx0Y29uc3QgY3VycmVudFJvd0luZGV4ID0gcGFyYW1zLm5vZGUucm93SW5kZXg7XHJcblxyXG5cdGxldCByb3dTcGFuID0gMTtcclxuXHJcblx0Zm9yIChsZXQgaSA9IGN1cnJlbnRSb3dJbmRleCArIDE7IGkgPCBwYXJhbXMuYXBpLmdldERpc3BsYXllZFJvd0NvdW50KCk7IGkrKykge1xyXG5cdFx0Y29uc3Qgbm9kZSA9IHBhcmFtcy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpKTtcclxuXHRcdGlmIChub2RlLmRhdGFbZmllbGQhXSA9PT0gY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHJvd1NwYW4rKztcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aWYgKGN1cnJlbnRSb3dJbmRleCA+IDAgJiYgcGFyYW1zLmFwaS5nZXREaXNwbGF5ZWRSb3dBdEluZGV4KGN1cnJlbnRSb3dJbmRleCAtIDEpLmRhdGFbZmllbGQhXSA9PT0gY3VycmVudFZhbHVlKSB7XHJcblx0XHRyZXR1cm4gMTtcclxuXHR9XHJcblx0cmV0dXJuIHJvd1NwYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0Q29sID0gKG9wdGlvbnM6YW55LGNvbDogYW55W10sIGF1dGhMZXZlbDpudW1iZXIsZHJhZ1NvcnQ/OnN0cmluZywpID0+IHtcclxuXHQvLyBAdHMtaWdub3JlXHJcblx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4blxyXG5cdC8vIGNvbnNvbGUubG9nKCdpc0kxOG4tLS0tLScsaXNJMThuKVxyXG5cdGNvbC5mb3JFYWNoKChpdGVtOiBhbnksaW5kZXg6bnVtYmVyKSA9PiB7XHJcblx0XHRpdGVtLmhpZGUgPSBpdGVtLmhpZGVDb2w7XHJcblx0XHRpZiAoYXV0aExldmVsIDwgMykge1xyXG5cdFx0XHRpdGVtLmVkaXRhYmxlID0gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRpZihkcmFnU29ydCAmJiBpbmRleCA9PT0wKXtcclxuXHRcdFx0aXRlbS5yb3dEcmFnID0gdHJ1ZVxyXG5cdFx0fVxyXG5cdFx0aWYoaXNJMThuICYmICghaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpIHx8IGl0ZW0uaTE4bktleSA9PSAnJykpe1xyXG5cdFx0XHRpdGVtLmkxOG5LZXkgPSBgdGFibGVzLiR7b3B0aW9ucy5tb2RlbE5hbWV9LiR7aXRlbS5maWVsZH1gXHJcblx0XHR9XHJcblx0XHRpZihpdGVtLmhhc093blByb3BlcnR5KCd0ZXh0V3JhcCcpICYmIGl0ZW0udGV4dFdyYXApIHtcclxuXHRcdFx0aXRlbS5hdXRvSGVpZ2h0ID0gdHJ1ZVxyXG5cdFx0XHRpdGVtLmNlbGxDbGFzcyA9ICdjZWxsLXdyYXAtdGV4dCdcclxuXHRcdH1cclxuXHRcdGlmKGl0ZW0uZmllbGRUeXBlID09ICdWQVJDSEFSJyl7XHJcblx0XHRcdGl0ZW0uY2VsbERhdGFUeXBlID0gZmFsc2VcclxuXHRcdH1cclxuXHRcdGlmKGl0ZW0ucm93U3BhbkNvbmYpe1xyXG5cdFx0XHRsZXQgcm93U3BhbiA9IHtcclxuXHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyOiAncm93U3BhblJlbmRlcmVyJyxcclxuXHRcdFx0XHRjZWxsUmVuZGVyZXJQYXJhbXM6IHtcclxuXHRcdFx0XHRcdHJvd1NwYW46IChwYXJhbXM6IGFueSkgPT4gY2FsY1Jvd1NwYW4ocGFyYW1zKSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0T2JqZWN0LmFzc2lnbihpdGVtLHJvd1NwYW4pXHJcblx0XHRcdG9wdGlvbnMuc3VwcHJlc3NSb3dUcmFuc2Zvcm0gPSB0cnVlXHJcblx0XHRcdG9wdGlvbnMucm93Q2xhc3MgPSAncm93U3BhbidcclxuXHRcdH1cclxuXHRcdC8vIGlmKGl0ZW0uZWRpdGFibGUpe1xyXG5cdFx0Ly8gXHRpdGVtLmhlYWRlckNsYXNzID0gaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaGVhZGVyQ2xhc3MnKSBcclxuXHRcdC8vIFx0XHQ/IGAke2l0ZW0uaGVhZGVyQ2xhc3N9IGVkaXRhYmxlLWNvbHVtbi1oZWFkZXJgIFxyXG5cdFx0Ly8gXHRcdDogJ2VkaXRhYmxlLWNvbHVtbi1oZWFkZXInXHJcblx0XHQvLyB9XHJcblx0fSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBncmlkT3B0aW9uc0hvb2tlciA9IChncmlkT3B0aW9uczogYW55KSA9PiB7XHJcblx0Z3JpZE9wdGlvbnM/LmNvbHVtbkRlZnM/LmZvckVhY2goKGNvbDogYW55KSA9PiB7XHJcblx0XHRpZiAoY29sLmhpZGVDb2wpIHtcclxuXHRcdFx0Y29sLmhpZGUgPSBjb2wuaGlkZUNvbDtcclxuXHRcdFx0ZGVsZXRlIGNvbC5oaWRlQ29sO1xyXG5cdFx0fVxyXG5cdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4blxyXG5cdFx0aWYoIGlzSTE4biAmJiAoIWNvbC5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpIHx8IGNvbC5pMThuS2V5ID09ICcnKSl7XHJcblx0XHRcdFx0Y29sLmkxOG5LZXkgPSBgdGFibGVzLiR7Z3JpZE9wdGlvbnMubW9kZWxOYW1lfS4ke2NvbC5maWVsZH1gXHJcblx0XHRcdH1cclxuXHRcdGlmKGNvbC5oYXNPd25Qcm9wZXJ0eSgndGV4dFdyYXAnKSAmJiBjb2wudGV4dFdyYXApIHtcclxuXHRcdFx0Y29sLmF1dG9IZWlnaHQgPSB0cnVlXHJcblx0XHRcdGNvbC5jZWxsQ2xhc3MgPSAnY2VsbC13cmFwLXRleHQnXHJcblx0XHR9XHJcblx0XHRpZihjb2wucm93U3BhbkNvbmYpe1xyXG5cdFx0XHRsZXQgcm93U3BhbiA9IHtcclxuXHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyOiAncm93U3BhblJlbmRlcmVyJyxcclxuXHRcdFx0XHRjZWxsUmVuZGVyZXJQYXJhbXM6IHtcclxuXHRcdFx0XHRcdHJvd1NwYW46IChwYXJhbXM6IGFueSkgPT4gY2FsY1Jvd1NwYW4ocGFyYW1zKSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0T2JqZWN0LmFzc2lnbihjb2wscm93U3BhbilcclxuXHRcdFx0Z3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dUcmFuc2Zvcm0gPSB0cnVlXHJcblx0XHRcdGdyaWRPcHRpb25zLnJvd0NsYXNzID0gJ3Jvd1NwYW4nXHJcblx0XHR9XHJcblx0fSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0R3JpZCA9ICh0aGlzQXJnOmFueSxncmlkTGlzdDphbnksZml0ZXJQcmVsb2FkczphbnkpID0+IHtcclxuXHRncmlkTGlzdC5mb3JFYWNoKGFzeW5jIChpdGVtOiBhbnkpID0+IHtcclxuXHRcdCFpdGVtLnR5cGUgJiYgKGl0ZW0udHlwZSA9ICdncmlkJylcclxuXHRcdGxldCBncmlkOmFueSA9IHt0eXBlOml0ZW0udHlwZX1cclxuXHRcdGlmKGl0ZW0uZml0ZXJQcmVsb2FkcyBpbnN0YW5jZW9mIEFycmF5KXtcclxuXHRcdFx0Zml0ZXJQcmVsb2FkcyA9IFsuLi5maXRlclByZWxvYWRzLCAuLi5pdGVtLmZpdGVyUHJlbG9hZHNdXHJcblx0XHR9XHJcblx0XHRpZihpdGVtLnR5cGUgPT0gJ2dyaWQnKXtcclxuXHRcdFx0bGV0IHtcclxuXHRcdFx0XHRncmlkT3B0aW9uczogeyBjb2x1bW5EZWZzLCAuLi5yZXN0R3JpZE9wdGlvbnMgfSxcclxuXHRcdFx0XHRzdWJUYWJsZVNvdXJjZSxcclxuXHRcdFx0XHRzdWJEYXRhS2V5LFxyXG5cdFx0XHRcdHRpdGxlLFxyXG5cdFx0XHRcdHNlbGVjdERhdGFDYixcclxuXHRcdFx0XHRmayxcclxuXHRcdFx0XHRtYWluRmllbGQsXHJcblx0XHRcdFx0dW5pcXVlRmllbGQsXHJcblx0XHRcdFx0YWRkRGF0YUNiLFxyXG5cdFx0XHRcdHNob3dEZWxldGUgPSB0cnVlLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodCxcclxuXHRcdFx0XHRkcmFnU29ydCxcclxuXHRcdFx0XHRzZWxlY3Rpb25Nb2RlLFxyXG5cdFx0XHRcdGlzUm93U2VsZWN0YWJsZSxcclxuXHRcdFx0XHRhZGRTb3J0XHJcblx0XHRcdH0gPSBpdGVtO1xyXG5cdFx0XHRncmlkID0geyBzdWJUYWJsZVNvdXJjZSwgc3ViRGF0YUtleSwgdGl0bGUsc2hvd0RlbGV0ZSwgLi4uZ3JpZH07XHJcblx0XHRcdGxldCBncmlkT3B0aW9ucyA9IHtcclxuXHRcdFx0XHQuLi5yZXN0R3JpZE9wdGlvbnMsXHJcblx0XHRcdFx0ZmssXHJcblx0XHRcdFx0c3ViVGFibGVTb3VyY2UsXHJcblx0XHRcdFx0c3ViRGF0YUtleSxcclxuXHRcdFx0XHRtYWluRmllbGQsXHJcblx0XHRcdH07XHJcblx0XHRcdC8vIEB0cy1pZ25vcmVcclxuXHRcdFx0aWYod2luZG93LmFwcElzSTE4biAmJiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBpdGVtLmkxOG5LZXkgPT0gJycpKXtcclxuXHRcdFx0XHRncmlkLmkxOG5LZXkgPSBgdGFibGVzLiR7dGhpc0FyZy5nZXRQcm0ubW9kZWxOYW1lfS4ke3N1YkRhdGFLZXl9YFxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSA9PSAnY2xpZW50U2lkZScpe1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnN1cHByZXNzUm93VmlydHVhbGlzYXRpb24gPSB0cnVlXHJcblx0XHRcdH1cclxuXHRcdFx0aWYoc2Nyb2xsSGVpZ2h0KXtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5zY3JvbGxIZWlnaHQgPSBzY3JvbGxIZWlnaHRcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihkcmFnU29ydCl7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMucm93RHJhZ01hbmFnZWQgPSB0cnVlXHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMuZHJhZ1NvcnQgPSBkcmFnU29ydFxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKHNlbGVjdGlvbk1vZGUpIHtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5zZWxlY3Rpb25Nb2RlID0gc2VsZWN0aW9uTW9kZVxyXG5cdFx0XHRcdGlmKHNlbGVjdGlvbk1vZGUgIT0gJ25vbmUnKXtcclxuXHRcdFx0XHRcdGdyaWRPcHRpb25zLnJvd1NlbGVjdGlvbiA9IHtcclxuXHRcdFx0XHRcdFx0bW9kZTogc2VsZWN0aW9uTW9kZSA9PSAnc2luZ2xlJyA/ICdzaW5nbGVSb3cnIDogJ211bHRpUm93JyxcclxuXHRcdFx0XHRcdFx0aXNSb3dTZWxlY3RhYmxlOiBpc1Jvd1NlbGVjdGFibGUgPyBpc1Jvd1NlbGVjdGFibGU6bnVsbFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0ICBncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB1bmRlZmluZWRcclxuXHRcdFx0IFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnZlcnRDb2woZ3JpZE9wdGlvbnMsY29sdW1uRGVmcyx0aGlzQXJnLmF1dGhMZXZlbCxkcmFnU29ydCk7XHJcblx0XHRcdGdyaWRPcHRpb25zLmNvbHVtbkRlZnMgPSBjb2x1bW5EZWZzO1xyXG5cdFx0XHRpZiAoc3ViVGFibGVTb3VyY2UgPT09ICdzZWxlY3QnKSB7XHJcblx0XHRcdFx0dGhpc0FyZy53ZWJnZXQoeyBjb2RlOiBpdGVtLnNlbGVjdE1vZGVsQ29kZSB9KS5zdWJzY3JpYmUoKHJlczphbnkpID0+IHtcclxuXHRcdFx0XHRcdGxldCBzZWxlY3RDb250ZW50ID0gcGFyc2VGdW5jdGlvbnMoSlNPTi5wYXJzZShyZXMuY29udGVudCksIHRoaXNBcmcpO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zID0gc2VsZWN0Q29udGVudD8uZ3JpZE9wdGlvbnM7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMucm93TW9kZWxUeXBlID0gZ3JpZC5zZWxlY3RPcHRpb25zLnJvd01vZGVsVHlwZSB8fCAnc2VydmVyU2lkZSc7XHJcblx0XHRcdFx0XHRpZiAoZ3JpZC5zZWxlY3RPcHRpb25zLnJvd01vZGVsVHlwZSA9PSAnc2VydmVyU2lkZScpIHtcclxuXHRcdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLnNlcnZlckZ1bmMgPSBncmlkLnNlbGVjdE9wdGlvbnMuc2VydmVyRnVuYyB8fCB0aGlzQXJnLndlYl9zZWFyY2guYmluZCh0aGlzQXJnKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5jbGllbnRGdW5jID0gZ3JpZC5zZWxlY3RPcHRpb25zLmNsaWVudEZ1bmMgfHwgdGhpc0FyZy53ZWJfc2VhcmNoLmJpbmQodGhpc0FyZyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRncmlkLnVuaXF1ZUZpZWxkID0gdW5pcXVlRmllbGQ7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdERhdGFDYiA9IHNlbGVjdERhdGFDYjtcclxuXHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5zY3JvbGxIZWlnaHQgPSAnMzAwcHgnO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLnNlYXJjaFBybSA9IHNlbGVjdENvbnRlbnQuc2VhcmNoUHJtXHJcblx0XHRcdFx0XHRjb252ZXJ0Q29sKGdyaWQuc2VsZWN0T3B0aW9ucyxncmlkLnNlbGVjdE9wdGlvbnMuY29sdW1uRGVmcyEsMSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Z3JpZC5zZWFyY2hQcm0gPSB7IC4uLnRoaXNBcmcuc2VhcmNoUHJtIH07XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0YWRkRGF0YUNiICYmIChncmlkT3B0aW9ucy5hZGREYXRhQ2IgPSBhZGREYXRhQ2IpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGdyaWQuZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcclxuXHRcdFx0YWRkU29ydCAmJiAoZ3JpZC5hZGRTb3J0ID0gYWRkU29ydClcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGl0ZW0uaW50ZXJhY3RpdmVMYWJlbCA9IHRydWVcclxuXHRcdFx0Z3JpZCA9IHtcclxuXHRcdFx0XHQuLi5pdGVtXHJcblx0XHRcdH1cclxuXHRcdFx0Z3JpZC5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSlcclxuXHRcdH1cclxuXHRcdHRoaXNBcmcuZ3JpZHMucHVzaChncmlkKTtcclxuXHR9KTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRGb3JtID0gKHRoaXNBcmc6YW55LCBncm91cEFycjphbnksc291cmNlRGF0YTphbnkpID0+IHtcclxuXHRncm91cEFyci5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuXHRcdGlmICh0aGlzQXJnLmF1dGhMZXZlbCA8IDMpIHtcclxuXHRcdFx0aXRlbVtmb3JtVHlwZVRvUHJvcHNbaXRlbS50eXBlXV0uZGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdH0pO1xyXG5cdHRoaXNBcmcuZm9ybU9wdGlvbnMgPSB7XHJcblx0XHRmaWVsZHM6IFtcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGdyb3VwQ2xhc3M6ICdmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCcsXHJcblx0XHRcdFx0Z3JvdXA6IGdyb3VwQXJyLFxyXG5cdFx0XHR9LFxyXG5cdFx0XSxcclxuXHRcdGZvcm06IG5ldyBGb3JtR3JvdXAoe30pLFxyXG5cdFx0bWFpbkZpZWxkOiBzb3VyY2VEYXRhLm1vZGVsLm1haW5GaWVsZHMsXHJcblx0XHRtb2RlbE5hbWU6IHNvdXJjZURhdGEubW9kZWwubW9kZWxOYW1lLFxyXG5cdFx0ZXh0cmE6IHt0aGlzQXJnfVxyXG5cdH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjbGVhckxvY2FsID0gKCkgPT4ge1xyXG5cdGxldCB0aGVtZUNvbmZpZ1N0YXRlID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0aGVtZUNvbmZpZ1N0YXRlJylcclxuXHR3aW5kb3cubG9jYWxTdG9yYWdlLmNsZWFyKClcclxuXHRpZih0aGVtZUNvbmZpZ1N0YXRlKXtcclxuXHRcdHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndGhlbWVDb25maWdTdGF0ZScsdGhlbWVDb25maWdTdGF0ZSlcclxuXHR9XHJcblx0d2luZG93LnNlc3Npb25TdG9yYWdlLmNsZWFyKClcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHBhZ2VMaXN0R3JpZE9wdGlvbnMgPSAoZ3JpZE9wdGlvbnM6IGFueSx0aGlzQXJnOmFueSkgPT4ge1xyXG5cdGdyaWRPcHRpb25zLnNjcm9sbEhlaWdodCA9ICdjYWxjKDEwMHZoIC0gOTVweCknO1xyXG5cdGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSA9IGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSB8fCAnc2VydmVyU2lkZSc7XHJcblx0aWYgKGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSA9PSAnc2VydmVyU2lkZScpIHtcclxuXHRcdGdyaWRPcHRpb25zLnNlcnZlckZ1bmMgPSBncmlkT3B0aW9ucy5zZXJ2ZXJGdW5jIHx8IHRoaXNBcmcud2ViX3NlYXJjaC5iaW5kKHRoaXNBcmcpO1xyXG5cdH0gZWxzZSB7XHJcblx0XHRncmlkT3B0aW9ucy5jbGllbnRGdW5jID0gZ3JpZE9wdGlvbnMuY2xpZW50RnVuYyB8fCB0aGlzQXJnLndlYl9zZWFyY2guYmluZCh0aGlzQXJnKTtcclxuXHR9XHJcblx0aWYoZ3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSkge1xyXG5cdFx0XHQvLyBncmlkT3B0aW9ucy5zZWxlY3Rpb25Nb2RlID0gc2VsZWN0aW9uTW9kZVxyXG5cdFx0aWYoZ3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSAhPSAnbm9uZScpe1xyXG5cdFx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB7XHJcblx0XHRcdFx0bW9kZTogZ3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSA9PSAnc2luZ2xlJyA/ICdzaW5nbGVSb3cnIDonbXVsdGlSb3cnLFxyXG5cdFx0XHRcdGlzUm93U2VsZWN0YWJsZTogZ3JpZE9wdGlvbnMuaXNSb3dTZWxlY3RhYmxlID8gZ3JpZE9wdGlvbnMuaXNSb3dTZWxlY3RhYmxlIDogdW5kZWZpbmVkXHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGdyaWRPcHRpb25zLnJvd1NlbGVjdGlvbiA9IHVuZGVmaW5lZFxyXG5cdFx0fVxyXG5cdH1cclxuXHRjb252ZXJ0Q29sKGdyaWRPcHRpb25zLGdyaWRPcHRpb25zLmNvbHVtbkRlZnMhLDEpXHJcblx0cmV0dXJuIGdyaWRPcHRpb25zXHJcbn0iXX0=
@@ -4148,6 +4148,9 @@ const convertCol = (options, col, authLevel, dragSort) => {
4148
4148
  item.autoHeight = true;
4149
4149
  item.cellClass = 'cell-wrap-text';
4150
4150
  }
4151
+ if (item.fieldType == 'VARCHAR') {
4152
+ item.cellDataType = false;
4153
+ }
4151
4154
  if (item.rowSpanConf) {
4152
4155
  let rowSpan = {
4153
4156
  rowSpan: (params) => calcRowSpan(params),