imm-element-ui 1.1.0 → 1.1.1
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.
|
@@ -126,6 +126,9 @@ const _gridUtils = {
|
|
|
126
126
|
else if (gridOptions.selectionMode === 'single') {
|
|
127
127
|
gridOptions.rowSelection = { mode: 'singleRow' };
|
|
128
128
|
}
|
|
129
|
+
if (gridOptions.isRowSelectable) {
|
|
130
|
+
gridOptions.rowSelection.isRowSelectable = gridOptions.isRowSelectable;
|
|
131
|
+
}
|
|
129
132
|
return { ...gridOptions };
|
|
130
133
|
},
|
|
131
134
|
};
|
|
@@ -138,4 +141,4 @@ export const gridUtils = {
|
|
|
138
141
|
handleI18nKey: _gridUtils.handleI18nKey,
|
|
139
142
|
mergeOptions: _gridUtils.mergeOptions,
|
|
140
143
|
};
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9ncmlkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEQsTUFBTSxVQUFVLEdBQUc7SUFDbEIsVUFBVSxFQUFFLENBQUMsR0FBUSxFQUFFLFlBQXFCLEVBQVMsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBVSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixFQUFFLENBQUMsR0FBUSxFQUFFLGFBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1FBQ3RFLEtBQUssSUFBSSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMz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QUFhO0lBQ3ZDLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWTtDQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgJGR0IH0gZnJvbSAnQHByaW1lbmcvdGhlbWVzJztcbmltcG9ydCB7IHRoZW1lUXVhcnR6IH0gZnJvbSAnYWctZ3JpZC1lbnRlcnByaXNlJztcbmltcG9ydCB7IFRoZW1lQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdGhlbWVDb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBR19HUklEX0xPQ0FMRV9DTiwgQUdfR1JJRF9MT0NBTEVfRU4gfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvbG9jYWxlJztcbmltcG9ydCB7IGZpbHRlck9iamVjdEJ5S2V5cyB9IGZyb20gJy4uL3NoYXJlL3V0aWxzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZE9wdGlvbnMgfSBmcm9tICcuL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBfZ3JpZFV0aWxzID0ge1xuXHRjYWxjUm93SWRzOiAoYXBpOiBhbnksIGlzU2VydmVyU2lkZTogYm9vbGVhbik6IGFueVtdID0+IHtcblx0XHRjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG5cdFx0YXBpLmZvckVhY2hOb2RlKChub2RlOiBhbnkpID0+IHtcblx0XHRcdG5vZGUuaXNTZWxlY3RlZCgpICYmIHJlc3VsdC5wdXNoKG5vZGUuZGF0YSk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblx0c2VsZWN0aW9uSGFuZGxlcjogKGFwaTogYW55LCBzZWxlY3Rpb25LZXlzOiBhbnlbXSwgc3RhcnRSb3c6IG51bWJlcikgPT4ge1xuXHRcdGZvciAobGV0IGkgPSBzdGFydFJvdzsgaSA8IGFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpOyBpKyspIHtcblx0XHRcdGNvbnN0IG5vZGUgPSBhcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpKTtcblx0XHRcdGlmIChzZWxlY3Rpb25LZXlzPy5pbmNsdWRlcyhub2RlLmRhdGEuaWQpKSB7XG5cdFx0XHRcdG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSwgZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0Y2FsY0dyaWRIZWlnaHQocm93Q291bnQ6IG51bWJlciwgbWFyZ2luOiBudW1iZXIpIHtcblx0XHRjb25zdCBoZWFkZXJIZWlnaHQgPSA0OTtcblx0XHRjb25zdCByb3dIZWlnaHQgPSA0Mjtcblx0XHRjb25zdCB0b3RhbEhlaWdodCA9IGhlYWRlckhlaWdodCArIHJvd0NvdW50ICogcm93SGVpZ2h0ICsgbWFyZ2luO1xuXHRcdHJldHVybiBNYXRoLm1heCh0b3RhbEhlaWdodCwgaGVhZGVySGVpZ2h0ICsgcm93SGVpZ2h0ICsgbWFyZ2luKTtcblx0fSxcblx0Z2V0VGhlbWUodGhlbWVDb25maWc6IFRoZW1lQ29uZmlnU2VydmljZSkge1xuXHRcdGNvbnN0IHByaW1hcnkgPSB0aGVtZUNvbmZpZy5hcHBTdGF0ZSgpPy5wcmltYXJ5IGFzIHN0cmluZztcblx0XHRyZXR1cm4gdGhlbWVRdWFydHoud2l0aFBhcmFtcyh7XG5cdFx0XHRhY2NlbnRDb2xvcjogcHJpbWFyeSxcblx0XHRcdHNlbGVjdGVkUm93QmFja2dyb3VuZENvbG9yOiAkZHQoYCR7cHJpbWFyeX0uNTBgKS52YWx1ZSxcblx0XHRcdGNoZWNrYm94Q2hlY2tlZEJhY2tncm91bmRDb2xvcjogJGR0KGAke3ByaW1hcnl9LjUwMGApLnZhbHVlLFxuXHRcdFx0cm93SG92ZXJDb2xvcjogJGR0KGAke3ByaW1hcnl9LjUwYCkudmFsdWUsXG5cdFx0XHRyYW5nZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcjogJGR0KGAke3ByaW1hcnl9LjEwMGApLnZhbHVlLFxuXHRcdFx0cmFuZ2VTZWxlY3Rpb25Cb3JkZXJDb2xvcjogJGR0KGAke3ByaW1hcnl9LjEwMGApLnZhbHVlLFxuXHRcdFx0d3JhcHBlckJvcmRlclJhZGl1czogMCxcblx0XHR9KTtcblx0fSxcblx0Ly8gYWctZ3JpZCDmnKzlnLDlm73pmYXljJYg5a6Y5pa55peg5rOw5paH57+76K+R5YyFIOebruWJjeaagueUqOiLseaWhyDlkI7nu63pnIDopoHlho3nv7vor5Fcblx0Z2V0TG9jYWxUZXh0KGxvY2FsOiBzdHJpbmcpIHtcblx0XHRsZXQgbG9jYWxlVGV4dDtcblx0XHRzd2l0Y2ggKGxvY2FsKSB7XG5cdFx0XHRjYXNlICd6aC1DTic6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9DTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdlbi1VUyc6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9FTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICd0aC1USCc6XG5cdFx0XHRcdGxvY2FsZVRleHQgPSBBR19HUklEX0xPQ0FMRV9FTjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHQnJztcblx0XHR9XG5cdFx0cmV0dXJuIGxvY2FsZVRleHQ7XG5cdH0sXG5cdGhhbmRsZUkxOG5LZXkoY29sczogYW55W10sIGkxOG46IEkxOG5TZXJ2aWNlKSB7XG5cdFx0Y29uc3QgY29sdW1uRGVmczogYW55W10gPSBbXTtcblx0XHRjb2xzLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuXHRcdFx0bGV0IGNvbHM6IGFueTtcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykpIHtcblx0XHRcdFx0bGV0IGhlYWRlck5hbWUgPSBpMThuLmZhbnlpKGl0ZW0uaTE4bktleSk7XG5cdFx0XHRcdGNvbHMgPSB7IC4uLml0ZW0sIGhlYWRlck5hbWUgfTtcblx0XHRcdFx0ZGVsZXRlIGNvbHMuaTE4bktleTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbHMgPSB7IC4uLml0ZW0gfTtcblx0XHRcdH1cblx0XHRcdGNvbHVtbkRlZnMucHVzaChjb2xzKTtcblx0XHR9KTtcblx0XHRyZXR1cm4gY29sdW1uRGVmcztcblx0fSxcblx0Z2V0VHJlZU9wdGlvbnMoY29sdW1uRGVmOiBhbnkpOiBhbnkge1xuXHRcdGNvbnN0IHRyZWVPcHRpb25zID0ge1xuXHRcdFx0dHJlZURhdGE6IHRydWUsXG5cdFx0XHR0cmVlRGF0YUNoaWxkcmVuRmllbGQ6ICdjaGlsZHJlbicsXG5cdFx0XHRyb3dTZWxlY3Rpb246IHtcblx0XHRcdFx0bW9kZTogJ211bHRpUm93Jyxcblx0XHRcdH0sXG5cdFx0XHRhdXRvR3JvdXBDb2x1bW5EZWY6IHtcblx0XHRcdFx0Y2VsbFN0eWxlOiB7IGNvbG9yOiAndmFyKC0tcC1mb3JtLWZpZWxkLWZvY3VzLWJvcmRlci1jb2xvciknIH0sXG5cdFx0XHRcdGNlbGxSZW5kZXJlcjogJ2FnR3JvdXBDZWxsUmVuZGVyZXInLFxuXHRcdFx0XHRjZWxsUmVuZGVyZXJQYXJhbXM6IHtcblx0XHRcdFx0XHQuLi5jb2x1bW5EZWYuY2VsbFJlbmRlcmVyUGFyYW1zLFxuXHRcdFx0XHRcdGlubmVyUmVuZGVyZXI6ICdsaW5rUmVuZGVyZXInLFxuXHRcdFx0XHRcdHN1cHByZXNzQ291bnQ6IHRydWUsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC4uLmZpbHRlck9iamVjdEJ5S2V5cyhjb2x1bW5EZWYsIFsnaGVhZGVyTmFtZScsICdmaWVsZCcsICdtaW5XaWR0aCddKSxcblx0XHRcdH0sXG5cdFx0XHRpc1NlcnZlclNpZGVHcm91cDogKGRhdGFJdGVtOiBhbnkpID0+IHtcblx0XHRcdFx0cmV0dXJuICEhZGF0YUl0ZW0uY2hpbGRyZW47XG5cdFx0XHR9LFxuXHRcdFx0Z2V0U2VydmVyU2lkZUdyb3VwS2V5OiAoZGF0YUl0ZW06IGFueSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gZGF0YUl0ZW0uaWQ7XG5cdFx0XHR9LFxuXHRcdFx0b25Sb3dTZWxlY3RlZDogKGV2ZW50OiBhbnksIHg6IGFueSkgPT4ge1xuXHRcdFx0XHRjb25zdCBub2RlID0gZXZlbnQubm9kZTtcblx0XHRcdFx0aWYgKCFub2RlLmdyb3VwKSByZXR1cm47XG5cdFx0XHRcdG5vZGUuY2hpbGRyZW5BZnRlckdyb3VwLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcblx0XHRcdFx0XHRjaGlsZC5zZXRTZWxlY3RlZChub2RlLmlzU2VsZWN0ZWQoKSwgZmFsc2UpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0fTtcblx0XHRyZXR1cm4gdHJlZU9wdGlvbnM7XG5cdH0sXG5cdG1lcmdlT3B0aW9ucyhncmlkT3B0aW9uczogR3JpZE9wdGlvbnMsIGNhY2hlQmxvY2tTaXplOiBhbnksIGFjdGlvbjogQWN0aW9uU2VydmljZSk6IGFueSB7XG5cdFx0Z3JpZE9wdGlvbnMuY2FjaGVCbG9ja1NpemUgPSBjYWNoZUJsb2NrU2l6ZSA/PyA1MDtcblx0XHRpZiAoZ3JpZE9wdGlvbnMudHJlZURhdGFGaWVsZCkge1xuXHRcdFx0bGV0IGNvbHVtbkRlZjogYW55ID0gZ3JpZE9wdGlvbnMuY29sdW1uRGVmcz8uZmluZCgoY29sOiBhbnkpID0+IGNvbC5maWVsZCA9PSBncmlkT3B0aW9ucy50cmVlRGF0YUZpZWxkKTtcblx0XHRcdGNvbHVtbkRlZi5oaWRlID0gdHJ1ZTtcblx0XHRcdHJldHVybiB7IC4uLmdyaWRPcHRpb25zLCAuLi5fZ3JpZFV0aWxzLmdldFRyZWVPcHRpb25zKGNvbHVtbkRlZikgfTtcblx0XHR9XG5cdFx0aWYgKGdyaWRPcHRpb25zLnNob3dJbmRleCkge1xuXHRcdFx0Z3JpZE9wdGlvbnMuY29sdW1uRGVmcz8udW5zaGlmdCh7XG5cdFx0XHRcdGhlYWRlck5hbWU6ICcjJyxcblx0XHRcdFx0dmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IChwYXJhbXMubm9kZT8ucm93SW5kZXggfHwgMCkgKyAxLFxuXHRcdFx0XHR3aWR0aDogODAsXG5cdFx0XHRcdG1pbldpZHRoOiA4MCxcblx0XHRcdFx0bWF4V2lkdGg6IDgwLFxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGlmIChncmlkT3B0aW9ucy5zZWxlY3Rpb25Nb2RlID09PSAnbm9uZScpIHtcblx0XHRcdGdyaWRPcHRpb25zLnJvd1NlbGVjdGlvbiA9IHVuZGVmaW5lZDtcblx0XHR9IGVsc2UgaWYgKGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XG5cdFx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB7IG1vZGU6ICdzaW5nbGVSb3cnIH07XG5cdFx0fVxuXHRcdHJldHVybiB7IC4uLmdyaWRPcHRpb25zIH07XG5cdH0sXG59O1xuZXhwb3J0IGNvbnN0IGdyaWRVdGlscyA9IHtcblx0Y2FsY1Jvd0lkczogX2dyaWRVdGlscy5jYWxjUm93SWRzLFxuXHRzZWxlY3Rpb25IYW5kbGVyOiBfZ3JpZFV0aWxzLnNlbGVjdGlvbkhhbmRsZXIsXG5cdGNhbGNHcmlkSGVpZ2h0OiBfZ3JpZFV0aWxzLmNhbGNHcmlkSGVpZ2h0LFxuXHRnZXRUaGVtZTogX2dyaWRVdGlscy5nZXRUaGVtZSxcblx0Z2V0TG9jYWxUZXh0OiBfZ3JpZFV0aWxzLmdldExvY2FsVGV4dCxcblx0aGFuZGxlSTE4bktleTogX2dyaWRVdGlscy5oYW5kbGVJMThuS2V5LFxuXHRtZXJnZU9wdGlvbnM6IF9ncmlkVXRpbHMubWVyZ2VPcHRpb25zLFxufTtcbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9ncmlkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEQsTUFBTSxVQUFVLEdBQUc7SUFDbEIsVUFBVSxFQUFFLENBQUMsR0FBUSxFQUFFLFlBQXFCLEVBQVMsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBVSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixFQUFFLENBQUMsR0FBUSxFQUFFLGFBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1FBQ3RFLEtBQUssSUFBSSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxJQUFJLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMz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QUFVLENBQUMsY0FBYztJQUN6QyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7SUFDN0IsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO0lBQ3JDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtJQUN2QyxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7Q0FDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRkdCB9IGZyb20gJ0BwcmltZW5nL3RoZW1lcyc7XG5pbXBvcnQgeyB0aGVtZVF1YXJ0eiB9IGZyb20gJ2FnLWdyaWQtZW50ZXJwcmlzZSc7XG5pbXBvcnQgeyBUaGVtZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3RoZW1lQ29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQUdfR1JJRF9MT0NBTEVfQ04sIEFHX0dSSURfTE9DQUxFX0VOIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2xvY2FsZSc7XG5pbXBvcnQgeyBmaWx0ZXJPYmplY3RCeUtleXMgfSBmcm9tICcuLi9zaGFyZS91dGlscyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcblxuY29uc3QgX2dyaWRVdGlscyA9IHtcblx0Y2FsY1Jvd0lkczogKGFwaTogYW55LCBpc1NlcnZlclNpZGU6IGJvb2xlYW4pOiBhbnlbXSA9PiB7XG5cdFx0Y29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuXHRcdGFwaS5mb3JFYWNoTm9kZSgobm9kZTogYW55KSA9PiB7XG5cdFx0XHRub2RlLmlzU2VsZWN0ZWQoKSAmJiByZXN1bHQucHVzaChub2RlLmRhdGEpO1xuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cdHNlbGVjdGlvbkhhbmRsZXI6IChhcGk6IGFueSwgc2VsZWN0aW9uS2V5czogYW55W10sIHN0YXJ0Um93OiBudW1iZXIpID0+IHtcblx0XHRmb3IgKGxldCBpID0gc3RhcnRSb3c7IGkgPCBhcGkuZ2V0RGlzcGxheWVkUm93Q291bnQoKTsgaSsrKSB7XG5cdFx0XHRjb25zdCBub2RlID0gYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaSk7XG5cdFx0XHRpZiAoc2VsZWN0aW9uS2V5cz8uaW5jbHVkZXMobm9kZS5kYXRhLmlkKSkge1xuXHRcdFx0XHRub2RlLnNldFNlbGVjdGVkKHRydWUsIGZhbHNlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdGNhbGNHcmlkSGVpZ2h0KHJvd0NvdW50OiBudW1iZXIsIG1hcmdpbjogbnVtYmVyKSB7XG5cdFx0Y29uc3QgaGVhZGVySGVpZ2h0ID0gNDk7XG5cdFx0Y29uc3Qgcm93SGVpZ2h0ID0gNDI7XG5cdFx0Y29uc3QgdG90YWxIZWlnaHQgPSBoZWFkZXJIZWlnaHQgKyByb3dDb3VudCAqIHJvd0hlaWdodCArIG1hcmdpbjtcblx0XHRyZXR1cm4gTWF0aC5tYXgodG90YWxIZWlnaHQsIGhlYWRlckhlaWdodCArIHJvd0hlaWdodCArIG1hcmdpbik7XG5cdH0sXG5cdGdldFRoZW1lKHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZ1NlcnZpY2UpIHtcblx0XHRjb25zdCBwcmltYXJ5ID0gdGhlbWVDb25maWcuYXBwU3RhdGUoKT8ucHJpbWFyeSBhcyBzdHJpbmc7XG5cdFx0cmV0dXJuIHRoZW1lUXVhcnR6LndpdGhQYXJhbXMoe1xuXHRcdFx0YWNjZW50Q29sb3I6IHByaW1hcnksXG5cdFx0XHRzZWxlY3RlZFJvd0JhY2tncm91bmRDb2xvcjogJGR0KGAke3ByaW1hcnl9LjUwYCkudmFsdWUsXG5cdFx0XHRjaGVja2JveENoZWNrZWRCYWNrZ3JvdW5kQ29sb3I6ICRkdChgJHtwcmltYXJ5fS41MDBgKS52YWx1ZSxcblx0XHRcdHJvd0hvdmVyQ29sb3I6ICRkdChgJHtwcmltYXJ5fS41MGApLnZhbHVlLFxuXHRcdFx0cmFuZ2VTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I6ICRkdChgJHtwcmltYXJ5fS4xMDBgKS52YWx1ZSxcblx0XHRcdHJhbmdlU2VsZWN0aW9uQm9yZGVyQ29sb3I6ICRkdChgJHtwcmltYXJ5fS4xMDBgKS52YWx1ZSxcblx0XHRcdHdyYXBwZXJCb3JkZXJSYWRpdXM6IDAsXG5cdFx0fSk7XG5cdH0sXG5cdC8vIGFnLWdyaWQg5pys5Zyw5Zu96ZmF5YyWIOWumOaWueaXoOazsOaWh+e/u+ivkeWMhSDnm67liY3mmoLnlKjoi7Hmlocg5ZCO57ut6ZyA6KaB5YaN57+76K+RXG5cdGdldExvY2FsVGV4dChsb2NhbDogc3RyaW5nKSB7XG5cdFx0bGV0IGxvY2FsZVRleHQ7XG5cdFx0c3dpdGNoIChsb2NhbCkge1xuXHRcdFx0Y2FzZSAnemgtQ04nOlxuXHRcdFx0XHRsb2NhbGVUZXh0ID0gQUdfR1JJRF9MT0NBTEVfQ047XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnZW4tVVMnOlxuXHRcdFx0XHRsb2NhbGVUZXh0ID0gQUdfR1JJRF9MT0NBTEVfRU47XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAndGgtVEgnOlxuXHRcdFx0XHRsb2NhbGVUZXh0ID0gQUdfR1JJRF9MT0NBTEVfRU47XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Jyc7XG5cdFx0fVxuXHRcdHJldHVybiBsb2NhbGVUZXh0O1xuXHR9LFxuXHRoYW5kbGVJMThuS2V5KGNvbHM6IGFueVtdLCBpMThuOiBJMThuU2VydmljZSkge1xuXHRcdGNvbnN0IGNvbHVtbkRlZnM6IGFueVtdID0gW107XG5cdFx0Y29scy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcblx0XHRcdGxldCBjb2xzOiBhbnk7XG5cdFx0XHRpZiAoaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpKSB7XG5cdFx0XHRcdGxldCBoZWFkZXJOYW1lID0gaTE4bi5mYW55aShpdGVtLmkxOG5LZXkpO1xuXHRcdFx0XHRjb2xzID0geyAuLi5pdGVtLCBoZWFkZXJOYW1lIH07XG5cdFx0XHRcdGRlbGV0ZSBjb2xzLmkxOG5LZXk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb2xzID0geyAuLi5pdGVtIH07XG5cdFx0XHR9XG5cdFx0XHRjb2x1bW5EZWZzLnB1c2goY29scyk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIGNvbHVtbkRlZnM7XG5cdH0sXG5cdGdldFRyZWVPcHRpb25zKGNvbHVtbkRlZjogYW55KTogYW55IHtcblx0XHRjb25zdCB0cmVlT3B0aW9ucyA9IHtcblx0XHRcdHRyZWVEYXRhOiB0cnVlLFxuXHRcdFx0dHJlZURhdGFDaGlsZHJlbkZpZWxkOiAnY2hpbGRyZW4nLFxuXHRcdFx0cm93U2VsZWN0aW9uOiB7XG5cdFx0XHRcdG1vZGU6ICdtdWx0aVJvdycsXG5cdFx0XHR9LFxuXHRcdFx0YXV0b0dyb3VwQ29sdW1uRGVmOiB7XG5cdFx0XHRcdGNlbGxTdHlsZTogeyBjb2xvcjogJ3ZhcigtLXAtZm9ybS1maWVsZC1mb2N1cy1ib3JkZXItY29sb3IpJyB9LFxuXHRcdFx0XHRjZWxsUmVuZGVyZXI6ICdhZ0dyb3VwQ2VsbFJlbmRlcmVyJyxcblx0XHRcdFx0Y2VsbFJlbmRlcmVyUGFyYW1zOiB7XG5cdFx0XHRcdFx0Li4uY29sdW1uRGVmLmNlbGxSZW5kZXJlclBhcmFtcyxcblx0XHRcdFx0XHRpbm5lclJlbmRlcmVyOiAnbGlua1JlbmRlcmVyJyxcblx0XHRcdFx0XHRzdXBwcmVzc0NvdW50OiB0cnVlLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHQuLi5maWx0ZXJPYmplY3RCeUtleXMoY29sdW1uRGVmLCBbJ2hlYWRlck5hbWUnLCAnZmllbGQnLCAnbWluV2lkdGgnXSksXG5cdFx0XHR9LFxuXHRcdFx0aXNTZXJ2ZXJTaWRlR3JvdXA6IChkYXRhSXRlbTogYW55KSA9PiB7XG5cdFx0XHRcdHJldHVybiAhIWRhdGFJdGVtLmNoaWxkcmVuO1xuXHRcdFx0fSxcblx0XHRcdGdldFNlcnZlclNpZGVHcm91cEtleTogKGRhdGFJdGVtOiBhbnkpID0+IHtcblx0XHRcdFx0cmV0dXJuIGRhdGFJdGVtLmlkO1xuXHRcdFx0fSxcblx0XHRcdG9uUm93U2VsZWN0ZWQ6IChldmVudDogYW55LCB4OiBhbnkpID0+IHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IGV2ZW50Lm5vZGU7XG5cdFx0XHRcdGlmICghbm9kZS5ncm91cCkgcmV0dXJuO1xuXHRcdFx0XHRub2RlLmNoaWxkcmVuQWZ0ZXJHcm91cC5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XG5cdFx0XHRcdFx0Y2hpbGQuc2V0U2VsZWN0ZWQobm9kZS5pc1NlbGVjdGVkKCksIGZhbHNlKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9LFxuXHRcdH07XG5cdFx0cmV0dXJuIHRyZWVPcHRpb25zO1xuXHR9LFxuXHRtZXJnZU9wdGlvbnMoZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zLCBjYWNoZUJsb2NrU2l6ZTogYW55LCBhY3Rpb246IEFjdGlvblNlcnZpY2UpOiBhbnkge1xuXHRcdGdyaWRPcHRpb25zLmNhY2hlQmxvY2tTaXplID0gY2FjaGVCbG9ja1NpemUgPz8gNTA7XG5cdFx0aWYgKGdyaWRPcHRpb25zLnRyZWVEYXRhRmllbGQpIHtcblx0XHRcdGxldCBjb2x1bW5EZWY6IGFueSA9IGdyaWRPcHRpb25zLmNvbHVtbkRlZnM/LmZpbmQoKGNvbDogYW55KSA9PiBjb2wuZmllbGQgPT0gZ3JpZE9wdGlvbnMudHJlZURhdGFGaWVsZCk7XG5cdFx0XHRjb2x1bW5EZWYuaGlkZSA9IHRydWU7XG5cdFx0XHRyZXR1cm4geyAuLi5ncmlkT3B0aW9ucywgLi4uX2dyaWRVdGlscy5nZXRUcmVlT3B0aW9ucyhjb2x1bW5EZWYpIH07XG5cdFx0fVxuXHRcdGlmIChncmlkT3B0aW9ucy5zaG93SW5kZXgpIHtcblx0XHRcdGdyaWRPcHRpb25zLmNvbHVtbkRlZnM/LnVuc2hpZnQoe1xuXHRcdFx0XHRoZWFkZXJOYW1lOiAnIycsXG5cdFx0XHRcdHZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiAocGFyYW1zLm5vZGU/LnJvd0luZGV4IHx8IDApICsgMSxcblx0XHRcdFx0d2lkdGg6IDgwLFxuXHRcdFx0XHRtaW5XaWR0aDogODAsXG5cdFx0XHRcdG1heFdpZHRoOiA4MCxcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAoZ3JpZE9wdGlvbnMuc2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnKSB7XG5cdFx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIGlmIChncmlkT3B0aW9ucy5zZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlJykge1xuXHRcdFx0Z3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0geyBtb2RlOiAnc2luZ2xlUm93JyB9O1xuXHRcdH1cblx0XHRpZihncmlkT3B0aW9ucy5pc1Jvd1NlbGVjdGFibGUpIHtcblx0XHRcdChncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gYXMgYW55KS5pc1Jvd1NlbGVjdGFibGUgPSBncmlkT3B0aW9ucy5pc1Jvd1NlbGVjdGFibGVcblx0XHR9XG5cdFx0cmV0dXJuIHsgLi4uZ3JpZE9wdGlvbnMgfTtcblx0fSxcbn07XG5leHBvcnQgY29uc3QgZ3JpZFV0aWxzID0ge1xuXHRjYWxjUm93SWRzOiBfZ3JpZFV0aWxzLmNhbGNSb3dJZHMsXG5cdHNlbGVjdGlvbkhhbmRsZXI6IF9ncmlkVXRpbHMuc2VsZWN0aW9uSGFuZGxlcixcblx0Y2FsY0dyaWRIZWlnaHQ6IF9ncmlkVXRpbHMuY2FsY0dyaWRIZWlnaHQsXG5cdGdldFRoZW1lOiBfZ3JpZFV0aWxzLmdldFRoZW1lLFxuXHRnZXRMb2NhbFRleHQ6IF9ncmlkVXRpbHMuZ2V0TG9jYWxUZXh0LFxuXHRoYW5kbGVJMThuS2V5OiBfZ3JpZFV0aWxzLmhhbmRsZUkxOG5LZXksXG5cdG1lcmdlT3B0aW9uczogX2dyaWRVdGlscy5tZXJnZU9wdGlvbnMsXG59O1xuIl19
|
|
@@ -208,8 +208,16 @@ export class PageFormComponent extends AmComponent {
|
|
|
208
208
|
}
|
|
209
209
|
dataSourceShow() {
|
|
210
210
|
const grid = this.gridList()[this.indexValue];
|
|
211
|
-
this.dialogSearchPrm = {
|
|
211
|
+
this.dialogSearchPrm = {};
|
|
212
212
|
this.selectOptions = this.gridList()[this.indexValue]['selectOptions'];
|
|
213
|
+
if (this.selectOptions.hasOwnProperty('searchPrm')) {
|
|
214
|
+
this.selectOptions.searchPrm.columnFilters.forEach((v) => {
|
|
215
|
+
if (typeof v.fiter == 'function') {
|
|
216
|
+
v.fiter = v.fiter(null, this.getPrm.data);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
this.dialogSearchPrm = this.selectOptions.searchPrm;
|
|
220
|
+
}
|
|
213
221
|
console.log('seletc-----', this.selectOptions);
|
|
214
222
|
this.dialogSearchPrm.modelName = this.selectOptions.modelName;
|
|
215
223
|
if (grid.uniqueField) {
|
|
@@ -366,4 +374,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
366
374
|
type: ViewChildren,
|
|
367
375
|
args: ['tabForm']
|
|
368
376
|
}] } });
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTJCLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBTyxNQUFNLG9CQUFvQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFF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VUFBVSw0WEFDVixvQkFBb0IsbUtBQ3BCLGFBQWEsa0RBQ2Isb0JBQW9COzs0RkFNVCxpQkFBaUI7a0JBcEI3QixTQUFTOytCQUNDLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixVQUFVO3dCQUNWLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixvQkFBb0I7cUJBQ3BCLGFBR1UsRUFBRTt3REFHTyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1UsVUFBVTtzQkFBckMsWUFBWTt1QkFBQyxZQUFZO2dCQUNELE9BQU87c0JBQS9CLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdXNlckhpc3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIGlucHV0LCBlZmZlY3QsIGNvbXB1dGVkLCBJbnB1dCwgc2lnbmFsLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIEZvcm1PcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFJvd1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcm93LXNlbGVjdG9yL3Jvdy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9nL2xvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQ3J1bWJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9jcnVtYi1hY3Rpb24vY3J1bWItYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwc0NvbXBvbmVudCwgU3RlcCB9IGZyb20gJy4uL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJzJztcbmltcG9ydCB7IEFtQ29tcG9uZW50LCBHZXQgfSBmcm9tICcuLi9hbS9hbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcbmltcG9ydCB7IEhyZWZCdG5MaXN0LCBHcmlkTGlzdCB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25CdG4gfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZm9ybVR5cGVUb1Byb3BzIH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IEhyZWZCdG5MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vaHJlZi1idG4tbGlzdC9ocmVmLWJ0bi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtcGFnZS1mb3JtJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdEJ1dHRvbk1vZHVsZSxcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXHRcdEZvcm1Db21wb25lbnQsXG5cdFx0TG9nQ29tcG9uZW50LFxuXHRcdENydW1iQWN0aW9uQ29tcG9uZW50LFxuXHRcdFN0ZXBzQ29tcG9uZW50LFxuXHRcdEdyaWRDb21wb25lbnQsXG5cdFx0VGFic01vZHVsZSxcblx0XHRSb3dTZWxlY3RvckNvbXBvbmVudCxcblx0XHRUcmFuc2xhdGVQaXBlLFxuXHRcdEhyZWZCdG5MaXN0Q29tcG9uZW50LFxuXHRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL3BhZ2UtZm9ybS5jb21wb25lbnQuc2NzcycsXG5cdHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VGb3JtQ29tcG9uZW50IGV4dGVuZHMgQW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRAVmlld0NoaWxkKCdjRm9ybScpIGNGb3JtITogRm9ybUNvbXBvbmVudDtcblx0QFZpZXdDaGlsZHJlbignY3VzdG9tR3JpZCcpIGN1c3RvbUdyaWQhOiBRdWVyeUxpc3Q8R3JpZENvbXBvbmVudD47XG5cdEBWaWV3Q2hpbGRyZW4oJ3RhYkZvcm0nKSB0YWJGb3JtITogUXVlcnlMaXN0PEZvcm1Db21wb25lbnQ+O1xuXHRhZGRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblx0Z3JpZExpc3QgPSBpbnB1dDxhbnlbXT4oW10pO1xuXHRmb3JtID0gaW5wdXQucmVxdWlyZWQ8Rm9ybU9wdGlvbnM+KHt9KTtcblx0Z2V0UHJtSW5wdXQgPSBpbnB1dC5yZXF1aXJlZDxHZXQ+KHt9KTtcblx0c3RhdHVzU3RlcHMgPSBpbnB1dDxTdGVwW10+KFtdKTtcblx0c3RhdHVzS2V5ID0gaW5wdXQoJ3N0YXR1cycpO1xuXHRocmVmQnRuTGlzdCA9IGlucHV0PEhyZWZCdG5MaXN0W10+KFtdKTtcblx0c2V0VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cdGFjdGlvbkxpc3QgPSBpbnB1dDxQZXJtaXNzaW9uQnRuW10+KFtdKTtcblx0bW9kZWxMb2cgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cdGZvcm1EaXNhYmxlZCA9IGlucHV0PEZ1bmN0aW9uPigpO1xuXHRzdGF0dXNDb25mID0gaW5wdXQ8YW55PigpXG5cdGZvcm1EZXRhaWwgPSBpbnB1dDxhbnk+KClcblx0c2F2ZUZ1bmMgPSBpbnB1dDxhbnk+KClcblxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcblx0aW5kZXhWYWx1ZSA9IDA7XG5cdHZpc2libGUgPSBmYWxzZTtcblx0ZGlhbG9nU2VhcmNoUHJtITogU2VhcmNoO1xuXHRzZWxlY3RPcHRpb25zITogR3JpZE9wdGlvbnM7XG5cdHNlbGVjdERhdGE6IGFueVtdID0gW107XG5cdHBhZ2VVcmwgPSAnJztcblx0bmV3VXJsID0gJyc7XG5cdGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcblx0aHJlZnM6IGFueVtdID0gW107XG5cdGFjdGlvbiA9IGluamVjdChBY3Rpb25TZXJ2aWNlKTtcblx0c3ViRm9ybU1vZGVsOmFueSA9IHt9XG5cdHNhdmVCdG5EaXNhYmxlID0gZmFsc2Vcblx0Z3JpZERpc2FibGUgPSBmYWxzZSBcblx0c2VsZWN0aW9uS2V5czogYW55W10gPSBbXTtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLmlkID0gTnVtYmVyKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdpZCcpKTtcblx0XHR0aGlzLnBhZ2VVcmwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybFxuXHRcdFx0Lm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKVxuXHRcdFx0LmpvaW4oJy8nKVxuXHRcdFx0LnJlcGxhY2UoLyhbXlxcL10qKSQvLCAnJyk7XG5cdFx0dGhpcy5uZXdVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9bmV3YDtcblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdHRoaXMubW9kZWxOYW1lID0gdGhpcy5nZXRQcm1JbnB1dCgpLm1vZGVsTmFtZSE7XG5cdFx0XHRcdHRoaXMuZ2V0UHJtID0geyAuLi50aGlzLmdldFBybUlucHV0KCkgfTtcblx0XHRcdFx0dGhpcy5pZCAmJiAodGhpcy5nZXRQcm0uaWQgPSB0aGlzLmlkKTtcblx0XHRcdFx0aWYodGhpcy5pZCl7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2codHlwZW9mIHRoaXMuZm9ybURldGFpbCgpLCdmb3JtLS0tLScpXG5cdFx0XHRcdFx0dHlwZW9mIHRoaXMuZm9ybURldGFpbCgpID09ICdmdW5jdGlvbicgPyB0aGlzLmZvcm1EZXRhaWwoKSh0aGlzLmlkKSA6IHRoaXMuZ2V0RGV0YWlsKCk7XG5cdFx0XHRcdH1lbHNlIHtcblx0XHRcdFx0XHR0aGlzLmdldFBybS5kYXRhID0ge31cblx0XHRcdFx0XHR0aGlzLmdyaWRMaXN0KCkuZm9yRWFjaCh2ID0+IHtcblx0XHRcdFx0XHRcdGlmKHYudHlwZSA9PSAnZ3JpZCcpe1xuXHRcdFx0XHRcdFx0XHR0aGlzLmdldFBybS5kYXRhW3Yuc3ViRGF0YUtleV0gPSBbXVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG5cdFx0KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHR0aGlzLmZvcm1PcHRpb25zID0geyAuLi50aGlzLmZvcm0oKSB9O1xuXHRcdH0pO1xuXHRcdGVmZmVjdChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0dGhpcy5pc0xvZyA9IHRoaXMubW9kZWxMb2coKTtcblx0XHRcdH0sXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG5cdFx0KTtcblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLnN0YXR1c1N0ZXBzKCkubGVuZ3RoID4gMCAmJiAhdGhpcy5pZCkge1xuXHRcdFx0XHRcdHRoaXMudXBzZXJ0UHJtLmFkZERhdGEhW3RoaXMuc3RhdHVzS2V5KCldID0gdGhpcy5zdGF0dXNTdGVwcygpWzBdWyd2YWx1ZSddO1xuXHRcdFx0XHRcdHRoaXMuZ2V0UHJtLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZ2V0UHJtLmRhdGEgfHwge30sIHtcblx0XHRcdFx0XHRcdFt0aGlzLnN0YXR1c0tleSgpXTogdGhpcy5zdGF0dXNTdGVwcygpWzBdWyd2YWx1ZSddLFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGlmKHRoaXMuYXV0aExldmVsKCkgPCAzKXtcblx0XHRcdFx0dGhpcy5zZXREaXNhYmxlZCgpXG5cdFx0XHR9XG5cdFx0fSx7YWxsb3dTaWduYWxXcml0ZXM6dHJ1ZX0pXG5cdH1cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy51cENiID0gdGhpcy51cENiLmJpbmQodGhpcyk7XG5cdH1cblxuXHRzdWJtaXRGb3JtKCk6IGFueSB7XG5cdFx0Ly8gdGhpcy50YWJGb3JtLnZhbGlkYXRlKClcblx0XHRjb25zb2xlLmxvZygnZ2V0UHJtLS0tLS0tJyx0aGlzLmdldFBybSlcblx0XHRsZXQgc3ViRm9ybSA9IHRydWVcblx0XHRpZih0aGlzLnRhYkZvcm0ubGVuZ3RoID4gMCl7XG5cdFx0XHR0aGlzLnRhYkZvcm0uZm9yRWFjaChpdGVtID0+IHtcblx0XHRcdFx0aWYoIWl0ZW0udmFsaWRhdGUoKSl7XG5cdFx0XHRcdFx0c3ViRm9ybSA9IGZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fVxuXHRcdGlmICh0aGlzLmNGb3JtLnZhbGlkYXRlKCkgJiYgc3ViRm9ybSkge1xuXHRcdFx0bGV0IGNiOiBhbnkgPSB0aGlzLmlkID09PSAwID8gbnVsbCA6IHRoaXMudXBDYjtcblx0XHRcdHR5cGVvZiB0aGlzLnNhdmVGdW5jKCkgPT0gJ2Z1bmN0aW9uJyA/IHRoaXMuc2F2ZUZ1bmMoKSh0aGlzLnVwc2VydFBybSx0aGlzLmlkLGNiKSA6IHRoaXMudXBzZXJ0KG51bGwsIGNiKTtcblx0XHR9XG5cdH1cblxuXHRkZWxSb3dzKGU6IGFueSkge1xuXHRcdGNvbnN0IGdyaWRUYWIgPSB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXTtcblx0XHRjb25zdCBkZWxldGVGdW5jID0gZ3JpZFRhYi5kZWxldGVGdW5jO1xuXHRcdGNvbnN0IHN1YlRhYmxlID0gZ3JpZFRhYi5ncmlkT3B0aW9ucy5tb2RlbE5hbWU7XG5cblx0XHRsZXQgcHJtID0ge1xuXHRcdFx0bW9kZWxOYW1lOiBzdWJUYWJsZSxcblx0XHRcdGlkczogZSxcblx0XHR9O1xuXHRcdGlmICghZGVsZXRlRnVuYykge1xuXHRcdFx0dGhpcy53ZWJfcmVtb3ZlKHBybSkuc3Vic2NyaWJlKChyZXMpID0+IHtcblx0XHRcdFx0dGhpcy5nZXQoKTtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRkZWxldGVGdW5jKCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5nZXQoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXHR1cENiKHJlcz86IGFueSkge1xuXHRcdGlmIChyZXMuaWQgPT0gMCkge1xuXHRcdFx0dHlwZW9mIHRoaXMuZm9ybURldGFpbCgpID09ICdmdW5jdGlvbicgPyB0aGlzLmZvcm1EZXRhaWwoKSh0aGlzLmlkKSA6IHRoaXMuZ2V0RGV0YWlsKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRsZXQgZWRpdFVybCA9IGAke3RoaXMucGFnZVVybH0ke3Jlcy5pZH1gO1xuXHRcdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZWRpdFVybF0pO1xuXHRcdFx0fSwgMTUwMCk7XG5cdFx0fVxuXHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KGZhbHNlKTtcblx0XHR0aGlzLmNGb3JtLmZpbmFsaXplKCk7XG5cdH1cblx0Ly8gVE9ETyDmmK/lkKbpnIDopoHmlbDmja7ovazmjaLlm57osIPlh73mlbBcblx0b25PayhlOiBhbnkpIHtcblx0XHRjb25zdCBncmlkID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV07XG5cdFx0dGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV0uc2VsZWN0RGF0YSA9IFtdO1xuXHRcdGlmIChlLmxlbmd0aCA+IDApIHtcblx0XHRcdGxldCB1bmlxdWVLZXlzID0gW107XG5cdFx0XHRpZiAoZ3JpZC51bmlxdWVGaWVsZCkge1xuXHRcdFx0XHRjb25zdCByb3dEYXRhID0gdGhpcy5jdXN0b21HcmlkLmdldCh0aGlzLmluZGV4VmFsdWUpIVxuXHRcdFx0XHRcdC5nZXRHcmlkKClcblx0XHRcdFx0XHQuYXBpLmdldFJlbmRlcmVkTm9kZXMoKVxuXHRcdFx0XHRcdC5tYXAoKG5vZGUpID0+IG5vZGUuZGF0YSk7XG5cdFx0XHRcdHVuaXF1ZUtleXMgPSByb3dEYXRhLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtW2dyaWQudW5pcXVlRmllbGQhXSk7XG5cdFx0XHR9XG5cdFx0XHRlLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuXHRcdFx0XHRsZXQgb2JqID0gZ3JpZC5zZWxlY3REYXRhQ2IgPyBncmlkLnNlbGVjdERhdGFDYihpdGVtKSA6IHsgLi4uaXRlbSB9O1xuXHRcdFx0XHRpZiAoZ3JpZC51bmlxdWVGaWVsZCAmJiB1bmlxdWVLZXlzLmluY2x1ZGVzKG9ialtncmlkLnVuaXF1ZUZpZWxkIV0gfHwgJycpKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGdyaWQuc2VsZWN0RGF0YSEucHVzaChvYmopO1xuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLmFjdGlvbi5zYXZlU2lnbmFsLnNldCh0cnVlKTtcblx0XHR9XG5cdH1cblx0Z2V0RGV0YWlsKCkge1xuXHRcdHRoaXMud2ViX2dldCh0aGlzLmdldFBybSkuc3Vic2NyaWJlKChyZXMpID0+IHtcblx0XHRcdHRoaXMuZGV0YWlsQ2IocmVzKVxuXHRcdH0pO1xuXHR9XG5cdC8vIOiOt+WPluivpuaDheWbnuiwg1xuXHRkZXRhaWxDYihyZXM6YW55KXtcblx0XHR0aGlzLnVwZGF0ZVRpdGxlKHJlcyk7XG5cdFx0aWYodHlwZW9mIHRoaXMuZm9ybURpc2FibGVkKCkgPT0gJ2Z1bmN0aW9uJyl7XG5cdFx0XHR0aGlzLmZvcm1EaXNGdW5jKCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmhyZWZCdG5MaXN0KCkubGVuZ3RoID4gMCkge1xuXHRcdFx0dGhpcy5zZXRIcmVmVmFsdWUoKTtcblx0XHR9XG5cdFx0dGhpcy5ncmlkTGlzdCgpLmZvckVhY2godiA9PiB7XG5cdFx0XHRpZih2LnR5cGUgPT0gJ2Zvcm0nKXtcblx0XHRcdFx0dGhpcy5zdWJGb3JtTW9kZWxbdi5zdWJEYXRhS2V5XSA9IHJlc1t2LnN1YkRhdGFLZXldWzBdXG5cdFx0XHR9XG5cdFx0fSlcblx0fVxuXHRzZXRIcmVmVmFsdWUoKSB7XG5cdFx0dGhpcy5ocmVmQnRuTGlzdCgpLm1hcCgoaXRlbTogYW55KSA9PiB7XG5cdFx0XHRpZiAoaXRlbS5oYXNPd25Qcm9wZXJ0eSgnc2VhcmNoQ291bnQnKSAmJiB0eXBlb2YgaXRlbS5zZWFyY2hDb3VudCA9PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRpdGVtLnNlYXJjaENvdW50LmNvbHVtbkZpbHRlcnMuZm9yRWFjaCgodjogYW55KSA9PiB7XG5cdFx0XHRcdFx0aWYgKHR5cGVvZiB2LmZpdGVyID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0XHR2LmZpdGVyID0gdi5maXRlcih0aGlzLmdldFBybS5kYXRhKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLndlYl9zZWFyY2hDb3VudChpdGVtLnNlYXJjaENvdW50KS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuXHRcdFx0XHRcdGl0ZW0udmFsdWUgPSByZXMudG90YWxOdW0gfHwgMDtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0dXBkYXRlVGl0bGUocmVzOiBhbnkpIHtcblx0XHRsZXQgbWFpbkZpZWxkID0gdGhpcy5mb3JtKCkubWFpbkZpZWxkO1xuXHRcdGxldCB0aXRsZSA9IHJlc1ttYWluRmllbGQhXTtcblx0XHR0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5zZXRMYXN0VGl0bGUodGl0bGUpO1xuXHR9XG5cdGRhdGFTb3VyY2VTaG93KCkge1xuXHRcdGNvbnN0IGdyaWQgPSB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXTtcblx0XHR0aGlzLmRpYWxvZ1NlYXJjaFBybSA9IHsgLi4udGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV1bJ3NlYXJjaFBybSddISB9O1xuXHRcdHRoaXMuc2VsZWN0T3B0aW9ucyA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWxlY3RPcHRpb25zJ10hO1xuXHRcdGNvbnNvbGUubG9nKCdzZWxldGMtLS0tLScsIHRoaXMuc2VsZWN0T3B0aW9ucyk7XG5cdFx0dGhpcy5kaWFsb2dTZWFyY2hQcm0ubW9kZWxOYW1lID0gdGhpcy5zZWxlY3RPcHRpb25zLm1vZGVsTmFtZTtcblx0XHRpZihncmlkLnVuaXF1ZUZpZWxkKSB7XG5cdFx0XHR0aGlzLnNlbGVjdGlvbktleXMgPSB0aGlzLmdldFBybS5kYXRhPy5bZ3JpZC5zdWJEYXRhS2V5IV0/Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtW2dyaWQudW5pcXVlRmllbGQhXSkgfHwgW107XG5cdFx0fSBlbHNle1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25LZXlzID0gW107XG5cdFx0fVxuXHRcdHRoaXMudmlzaWJsZSA9IHRydWU7XG5cdH1cblxuXHRnb1J1bihkYXRhOiBhbnkpIHtcblx0XHRpZiAodHlwZW9mIGRhdGEudXJsID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRsZXQgdXJsID0gZGF0YS51cmwodGhpcy5nZXRQcm0uZGF0YSk7XG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsXSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICd3YXJuJywgc3VtbWFyeTogJ1dhcm4nLCBkZXRhaWw6ICfor7fphY3nva7ot7Povazpk77mjqUnIH0pO1xuXHRcdH1cblx0fVxuXG5cdGF1dGhDbGljayhidG46IGFueSkge1xuXHRcdGlmIChidG4uaGFzT3duUHJvcGVydHkoJ29uQ2xpY2snKSkge1xuXHRcdFx0YnRuLm9uQ2xpY2sodGhpcy5nZXRQcm0uZGF0YSk7XG5cdFx0fVxuXHR9XG5cdHN0YXR1c0NoYW5nZSh2YWx1ZTogYW55LCBjdXN0b21TdGVwczogU3RlcHNDb21wb25lbnQpIHtcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQgfHwgIXRoaXMuc3RhdHVzQ29uZigpLmlzQ2xpY2spIHJldHVybjtcblx0XHRpZiAodGhpcy5pZCkge1xuXHRcdFx0bGV0IHBhcmFtOiBhbnkgPSB7XG5cdFx0XHRcdG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsXG5cdFx0XHRcdGRhdGE6IHsgaWQ6IHRoaXMuaWQsIFt0aGlzLnN0YXR1c0tleSgpXTogdmFsdWUgfSxcblx0XHRcdH07XG5cdFx0XHRpZiAodGhpcy5pc0xvZykge1xuXHRcdFx0XHRwYXJhbS5sb2dNb2RlbCA9IGAke3RoaXMubW9kZWxOYW1lfUxvZ2A7XG5cdFx0XHRcdHBhcmFtLmxvZyA9IHtcblx0XHRcdFx0XHRwaWQ6IHRoaXMuaWQsXG5cdFx0XHRcdFx0Y29udGVudDogYFvnirbmgIFdICR7dGhpcy5nZXRQcm0uZGF0YSFbdGhpcy5zdGF0dXNLZXkoKV19IC0+ICR7dmFsdWV9YCxcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdHRoaXMud2ViX3dyaXRlKHBhcmFtKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuXHRcdFx0XHR0aGlzLmdldERldGFpbCgpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZ2V0UHJtLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZ2V0UHJtLmRhdGEgfHwge30sIHtcblx0XHRcdFx0W3RoaXMuc3RhdHVzS2V5KCldOiB2YWx1ZSxcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB2YWx1ZTtcblx0XHRcdHRoaXMuY0Zvcm0udHJpZ2dlck1vZGVsRWZmZWN0KHsgW3RoaXMuc3RhdHVzS2V5KCldOiB2YWx1ZSB9KTtcblx0XHRcdC8vIGN1c3RvbVN0ZXBzLnJlZnJlc2hTdGVwcygpXG5cdFx0fVxuXHR9XG5cblx0Zm9ybURpc0Z1bmMoKSB7XG5cdFx0bGV0IGRhdGEgPSB0aGlzLmZvcm1EaXNhYmxlZCgpISh0aGlzLmdldFBybS5kYXRhKTtcblx0XHRpZih0eXBlb2YgZGF0YSA9PT0gJ2Jvb2xlYW4nKXtcblx0XHRcdHRoaXMuc2F2ZUJ0bkRpc2FibGUgPSBkYXRhXG5cdFx0XHR0aGlzLmdyaWREaXNhYmxlID0gZGF0YVxuXHRcdFx0dGhpcy5kaXNhYmxlRm9ybShkYXRhKVxuXHRcdFx0dGhpcy5kaXNhYmVsZENoaWxkKGRhdGEpXG5cdFx0fVxuXHRcdGlmKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jyl7XG5cdFx0XHRjb25zdCBkaXNhYmVsZCA9IGRhdGEuZGlzYWJsZWRcblx0XHRcdGNvbnN0IGZpbHRlcnMgPSBkYXRhLmZpbHRlcnMgfHwgW11cblx0XHRcdGlmKCFmaWx0ZXJzLmluY2x1ZGVzKCdmb3JtJykpe1xuXHRcdFx0XHR0aGlzLmRpc2FibGVGb3JtKGRpc2FiZWxkKVxuXHRcdFx0fVxuXHRcdFx0aWYoIWZpbHRlcnMuaW5jbHVkZXMoJ2dyaWQnKSl7XG5cdFx0XHRcdHRoaXMuZ3JpZERpc2FibGUgPSBkaXNhYmVsZFxuXHRcdFx0XHR0aGlzLmRpc2FiZWxkQ2hpbGQoZGlzYWJlbGQpXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGRpc2FibGVGb3JtKGRpc2FibGU6Ym9vbGVhbil7XG5cdFx0dGhpcy5mb3JtT3B0aW9ucy5maWVsZHM/LmZvckVhY2goKHYpID0+IHtcblx0XHRcdHYuZ3JvdXA/LmZvckVhY2goKGc6IGFueSkgPT4ge1xuXHRcdFx0XHRsZXQgZmllbGREaXNhYmxlZCA9IGdbZm9ybVR5cGVUb1Byb3BzW2cudHlwZV1dLmRpc2FibGVkIHx8IGZhbHNlO1xuXHRcdFx0XHRpZiAoZGlzYWJsZSkge1xuXHRcdFx0XHRcdHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLm1hcmtBc1ByaXN0aW5lKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG5cdFx0XHRcdFx0dGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0IWZpZWxkRGlzYWJsZWQgJiYgdGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XHRcdFxuXHR9XG5cdGRpc2FiZWxkQ2hpbGQoZGlzYWJlbGQ6Ym9vbGVhbil7XG5cdFx0dGhpcy5ncmlkTGlzdCgpLmZvckVhY2goKHYsaW5kZXg6YW55KSA9PiB7XG5cdFx0XHRpZih2LnR5cGUgPT0gJ2dyaWQnKXtcblx0XHRcdFx0di5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzLmZvckVhY2goKGl0ZW06YW55KSA9PiB7XG5cdFx0XHRcdFx0aWYoZGlzYWJlbGQgJiYgaXRlbS5oYXNPd25Qcm9wZXJ0eSgnZWRpdGFibGUnKSl7XG5cdFx0XHRcdFx0XHRpdGVtLmVkaXRhYmxlID0gZmFsc2Vcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdHRoaXMuY3VzdG9tR3JpZC5nZXQoaW5kZXgpIS5nZXRHcmlkKCkuYXBpLnNldEdyaWRPcHRpb24oXG5cdFx0XHRcdFx0J2NvbHVtbkRlZnMnLCBcblx0XHRcdFx0XHR2LmdyaWRPcHRpb25zLmNvbHVtbkRlZnNcblx0XHRcdFx0KVxuXHRcdFx0fSBlbHNlIGlmKHYudHlwZSA9PSAnZm9ybScpe1xuXHRcdFx0XHR2LmZpZWxkcz8uZm9yRWFjaCgoaXRlbTphbnksKSA9PiB7XG5cdFx0XHRcdFx0aXRlbS5ncm91cD8uZm9yRWFjaCgoZzogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHRsZXQgZmllbGREaXNhYmxlZCA9IGdbZm9ybVR5cGVUb1Byb3BzW2cudHlwZV1dLmRpc2FibGVkIHx8IGZhbHNlO1xuXHRcdFx0XHRcdFx0aWYgKGRpc2FiZWxkKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMudGFiRm9ybS5nZXQoaW5kZXgpIS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEubWFya0FzUHJpc3RpbmUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdFx0XHRcdFx0XHR0aGlzLnRhYkZvcm0uZ2V0KGluZGV4KSEuZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0IWZpZWxkRGlzYWJsZWQgJiYgdGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSlcblx0fVxuXHRzZXREaXNhYmxlZCgpe1xuXHRcdHRoaXMuZ3JpZExpc3QoKS5mb3JFYWNoKCh2LGluZGV4OmFueSkgPT4ge1xuXHRcdFx0aWYodi50eXBlID09ICdmb3JtJyl7XG5cdFx0XHRcdHYuZmllbGRzPy5mb3JFYWNoKChpdGVtOmFueSwpID0+IHtcblx0XHRcdFx0XHRpdGVtLmdyb3VwPy5mb3JFYWNoKChnOiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMudGFiRm9ybS5nZXQoaW5kZXgpIS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pXG5cdH1cblx0dGFiQ2xpY2soKXtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMudGFiRm9ybS5nZXQodGhpcy5pbmRleFZhbHVlKSAmJiB0aGlzLnRhYkZvcm0uZ2V0KHRoaXMuaW5kZXhWYWx1ZSkhLnJlQ2FsY0xhYmVsU2l6ZSgpXG5cdFx0fSwwKVxuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWQ6b3ZlcmZsb3ctaGlkZGVuXCI+XG5cdDxkaXYgY2xhc3M9XCJmbGV4IG1kOmZsZXgtd3JhcCBsZzpmbGV4LW5vd3JhcCBpdGVtcy1jZW50ZXIgbWQ6anVzdGlmeS1iZXR3ZWVuIHB5LTEgcHgtMSBib3JkZXItYi1bMXB4XSBib3JkZXItWyNkYmRiZGJdIGJnLXdoaXRlXCI+XG5cdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMyBvcmRlci0xXCI+XG5cdFx0XHQ8YXBwLWNydW1iLWFjdGlvblxuXHRcdFx0XHRbYWRkVmlzaWJsZV09XCJhZGRWaXNpYmxlKClcIlxuXHRcdFx0XHRbbmV3VXJsXT1cIm5ld1VybFwiXG5cdFx0XHRcdFtpc1Nob3dDb2ddPVwidHJ1ZVwiXG5cdFx0XHRcdFtvdXRsaW5lZF09XCJ0cnVlXCJcblx0XHRcdFx0W2F1dGhMZXZlbF09XCJhdXRoTGV2ZWwoKVwiXG5cdFx0XHRcdFthY3Rpb25MaXN0XT1cImFjdGlvbkxpc3QoKVwiXG5cdFx0XHRcdFtkYXRhXT1cImdldFBybS5kYXRhID8/IHt9XCJcblx0XHRcdFx0W3NhdmVCdG5EaXNhYmxlXT1cInNhdmVCdG5EaXNhYmxlXCJcblx0XHRcdFx0KGFjdGlvbkV2ZW50KT1cImF1dGhDbGljaygkZXZlbnQpXCJcblx0XHRcdFx0KHNhdmVFdmVudCk9XCJzdWJtaXRGb3JtKClcIj5cblx0XHRcdDwvYXBwLWNydW1iLWFjdGlvbj5cblx0XHQ8L2Rpdj5cblxuXHRcdDxkaXYgY2xhc3M9XCJiYXNpcy0xLzUgbGc6YmFzaXMtMi8zIG9yZGVyLTIgbGc6b3JkZXItMiBtZDpvcmRlci1sYXN0IG1kOmJhc2lzLWZ1bGwgbWQ6bXQtWzZweF1cIj5cblx0XHRcdDxocmVmLWJ0bi1saXN0XG5cdFx0XHRcdFtocmVmc109XCJocmVmQnRuTGlzdCgpXCJcblx0XHRcdFx0KGhyZWZDbGljayk9XCJnb1J1bigkZXZlbnQpXCI+PC9ocmVmLWJ0bi1saXN0PlxuXHRcdFx0PCEtLSBAaWYgKGlkKSB7XG5cdFx0XHRcdEBmb3IgKGJ0biBvZiBocmVmQnRuTGlzdCgpOyB0cmFjayBidG4pIHtcblx0XHRcdFx0XHQ8cC1idXR0b25cblx0XHRcdFx0XHRcdFt2YXJpYW50XT1cImJ0bj8udmFyaWFudFwiXG5cdFx0XHRcdFx0XHRbc2V2ZXJpdHldPVwiYnRuPy5zZXZlcml0eVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cIm1yLVs2cHhdXCJcblx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJidG4/Lmljb25cIlxuXHRcdFx0XHRcdFx0bGFiZWw9XCJ7eyBidG4uaTE4bktleSA/IGkxOG4uZmFueWkoYnRuLmkxOG5LZXkpIDogYnRuLmxhYmVsIH19XCJcblx0XHRcdFx0XHRcdChjbGljayk9XCJnb1J1bihidG4pXCI+XG5cdFx0XHRcdFx0PC9wLWJ1dHRvbj5cblx0XHRcdFx0fVxuXHRcdFx0fSAtLT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiYmFzaXMtMS8zIG9yZGVyLTNcIj48L2Rpdj5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmbGV4XCI+XG5cdFx0PGRpdiBjbGFzcz1cInB4LTIgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGZsZXgtMVwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImhpZGRlbiBtZDpiYXNpcy0xLzMgcHktMSBiYXNpcy1mdWxsIG1kOmZsZXggaXRlbXMtY2VudGVyIGZsZXgtcm93IG9yZGVyLTFcIj5cblx0XHRcdFx0QGZvciAoYWN0aW9uIG9mIGFjdGlvbkxpc3QoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGFjdGlvbikge1xuXHRcdFx0XHRcdDxwLWJ1dHRvblxuXHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcblx0XHRcdFx0XHRcdFtpY29uXT1cImdldFBybS5kYXRhPy5pY29uXCJcblx0XHRcdFx0XHRcdFtsYWJlbF09XCJhY3Rpb24uaTE4bktleSA/IChhY3Rpb24uaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBhY3Rpb24ubGFiZWxcIlxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImFjdGlvbi5idG5EaXNhYmxlZCA/IGFjdGlvbi5idG5EaXNhYmxlZChnZXRQcm0uZGF0YSkgOiBmYWxzZVwiXG5cdFx0XHRcdFx0XHRbc3R5bGVDbGFzc109XCJcblx0XHRcdFx0XHRcdFx0KGFjdGlvbi5hdXRoIHx8IDApID4gKGF1dGhMZXZlbCgpIHx8IDApIHx8ICEhYWN0aW9uLmJ0bkhpZGRlbj8uKGdldFBybS5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdD8gJ2Zvcm0tYWN0aW9uIGhpZGRlbidcblx0XHRcdFx0XHRcdFx0XHQ6ICdmb3JtLWFjdGlvbiBibG9jayBtci1bLjVyZW1dJ1xuXHRcdFx0XHRcdFx0XCJcblx0XHRcdFx0XHRcdChvbkNsaWNrKT1cImFjdGlvbi5vbkNsaWNrICE9ICcnICYmIGFjdGlvbi5vbkNsaWNrPy4oZ2V0UHJtLmRhdGEpXCI+XG5cdFx0XHRcdFx0PC9wLWJ1dHRvbj5cblx0XHRcdFx0fVxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGwgZmxleCBtZDpmbGV4LXJvdy1yZXZlcnNlIGZsZXgtcm93IG1kOm9yZGVyLTIgb3JkZXItZmlyc3Qgdy1mdWxsXCI+XG5cdFx0XHRcdDxjdXN0b20tc3RlcHNcblx0XHRcdFx0XHQjY3VzdG9tU3RlcHNcblx0XHRcdFx0XHRjbGFzcz1cInctZnVsbFwiXG5cdFx0XHRcdFx0W3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxuXHRcdFx0XHRcdFttb2RlbExvZ109XCJtb2RlbExvZygpXCJcblx0XHRcdFx0XHRbY3VycmVudF09XCJnZXRQcm0uZGF0YSAmJiBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gIT09IHVuZGVmaW5lZCA/IGdldFBybS5kYXRhW3N0YXR1c0tleSgpXSA6IDBcIlxuXHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxuXHRcdFx0XHRcdFtpc0NsaWNrXT1cInRoaXMuc3RhdHVzQ29uZigpLmlzQ2xpY2tcIlxuXHRcdFx0XHRcdChjaGFuZ2UpPVwic3RhdHVzQ2hhbmdlKCRldmVudCwgY3VzdG9tU3RlcHMpXCI+XG5cdFx0XHRcdDwvY3VzdG9tLXN0ZXBzPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0QGlmIChtb2RlbExvZygpKSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibWQ6dy1bNDAwcHhdXCI+PC9kaXY+XG5cdFx0fVxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIm1haW4gZmxleCBmbGV4LXdyYXAgbWQ6b3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHQ8ZGl2IGNsYXNzPVwidy1mdWxsIG1kOmZsZXgtMSBtZDpoLWZ1bGwgb3ZlcmZsb3cteS1hdXRvXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYmctd2hpdGUgbXgtMiBmb3JtLXBhbmVsXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJwLTIgZmxleC0xXCI+XG5cdFx0XHRcdFx0PGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtKCkuZm9ybSFcIj5cblx0XHRcdFx0XHRcdDxjdXN0b20tZm9ybVxuXHRcdFx0XHRcdFx0XHQjY0Zvcm1cblx0XHRcdFx0XHRcdFx0W29wdGlvbnNdPVwiZm9ybU9wdGlvbnNcIlxuXHRcdFx0XHRcdFx0XHRbdXBzZXJ0XT1cInVwc2VydFBybVwiXG5cdFx0XHRcdFx0XHRcdFttb2RlbF09XCJnZXRQcm0uZGF0YSA/PyB7fVwiPjwvY3VzdG9tLWZvcm0+XG5cdFx0XHRcdFx0PC9mb3JtPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0QGlmIChncmlkTGlzdCgpICYmIGdyaWRMaXN0KCkubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBtYi0yXCI+XG5cdFx0XHRcdFx0XHQ8cC10YWJzIFsodmFsdWUpXT1cImluZGV4VmFsdWVcIj5cblx0XHRcdFx0XHRcdFx0PHAtdGFibGlzdD5cblx0XHRcdFx0XHRcdFx0XHRAZm9yIChmY2hpbGQgb2YgZ3JpZExpc3QoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGZjaGlsZCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0PHAtdGFiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFt2YWx1ZV09XCJpXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cInRhYkNsaWNrKClcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0e3sgZmNoaWxkLmkxOG5LZXkgPyBpMThuLmZhbnlpKGZjaGlsZC5pMThuS2V5KSA6IGZjaGlsZC50aXRsZSB9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PC9wLXRhYj5cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdDwvcC10YWJsaXN0PlxuXHRcdFx0XHRcdFx0PC9wLXRhYnM+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdH1cblx0XHRcdFx0QGZvciAoZ3JpZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgZ3JpZCkge1xuXHRcdFx0XHRcdEBpZiAoZ3JpZC50eXBlID09ICdncmlkJykge1xuXHRcdFx0XHRcdFx0PGN1c3RvbS1ncmlkXG5cdFx0XHRcdFx0XHRcdCNjdXN0b21HcmlkXG5cdFx0XHRcdFx0XHRcdFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPSBpXCJcblx0XHRcdFx0XHRcdFx0W3Jvd0RhdGFdPVwiZ2V0UHJtLmRhdGE/LltncmlkLnN1YkRhdGFLZXkhXVwiXG5cdFx0XHRcdFx0XHRcdFt1cHNlcnRdPVwidXBzZXJ0UHJtXCJcblx0XHRcdFx0XHRcdFx0KGRlbGV0ZUVtaXQpPVwiZGVsUm93cygkZXZlbnQpXCJcblx0XHRcdFx0XHRcdFx0W2FkZFR5cGVdPVwiZ3JpZC5zdWJUYWJsZVNvdXJjZVwiXG5cdFx0XHRcdFx0XHRcdChhZGRFbWl0KT1cImRhdGFTb3VyY2VTaG93KClcIlxuXHRcdFx0XHRcdFx0XHRbZ3JpZE9wdGlvbnNdPVwiZ3JpZC5ncmlkT3B0aW9uc1wiXG5cdFx0XHRcdFx0XHRcdFtncmlkRGlzYWJsZV09XCJncmlkRGlzYWJsZVwiXG5cdFx0XHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxuXHRcdFx0XHRcdFx0XHRbc2hvd0RlbGV0ZV09XCJncmlkLnNob3dEZWxldGVcIlxuXHRcdFx0XHRcdFx0XHRbc2VsZWN0RGF0YV09XCJncmlkLnNlbGVjdERhdGFcIj5cblx0XHRcdFx0XHRcdDwvY3VzdG9tLWdyaWQ+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHQ8IS0tIEBpZihpbmRleFZhbHVlID09IGkpe1xuXHRcdFx0XHRcdFx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cImdyaWQuZm9ybSFcIj5cblx0XHRcdFx0XHRcdFx0XHQ8Y3VzdG9tLWZvcm1cblx0XHRcdFx0XHRcdFx0XHRbb3B0aW9uc109XCJncmlkXCJcblx0XHRcdFx0XHRcdFx0XHRbdXBzZXJ0XT1cInVwc2VydFBybVwiXG5cdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHQ8L2N1c3RvbS1mb3JtPlxuXHRcdFx0XHRcdFx0XHQ8L2Zvcm0+XG5cdFx0XHRcdFx0XHR9IC0tPlxuXHRcdFx0XHRcdFx0PGN1c3RvbS1mb3JtXG5cdFx0XHRcdFx0XHRcdCN0YWJGb3JtXG5cdFx0XHRcdFx0XHRcdFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPSBpXCJcblx0XHRcdFx0XHRcdFx0W29wdGlvbnNdPVwiZ3JpZFwiXG5cdFx0XHRcdFx0XHRcdFt1cHNlcnRdPVwidXBzZXJ0UHJtXCJcblx0XHRcdFx0XHRcdFx0W21vZGVsXT1cInN1YkZvcm1Nb2RlbFtncmlkLnN1YkRhdGFLZXkhXSB8fCB7fVwiPlxuXHRcdFx0XHRcdFx0PC9jdXN0b20tZm9ybT5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdEBpZiAobW9kZWxMb2coKSkge1xuXHRcdFx0PGRpdiBjbGFzcz1cInctZnVsbCBtZDp3LVs0MDBweF0gbWQ6aC1mdWxsIG92ZXJmbG93LXktYXV0b1wiPlxuXHRcdFx0XHQ8Y3VzdG9tLWxvZyBbbG9nc109XCJnZXRQcm0uZGF0YT8ubG9nID8/IFtdXCI+PC9jdXN0b20tbG9nPlxuXHRcdFx0PC9kaXY+XG5cdFx0fVxuXHQ8L2Rpdj5cbjwvZGl2PlxuPHJvdy1zZWxlY3RvclxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIlxuXHRbc2VhcmNoUHJtXT1cImRpYWxvZ1NlYXJjaFBybVwiXG5cdFtncmlkT3B0aW9uc109XCJzZWxlY3RPcHRpb25zXCJcblx0W3NlbGVjdGlvbktleXNdPVwic2VsZWN0aW9uS2V5c1wiXG5cdChvbk9rKT1cIm9uT2soJGV2ZW50KVwiPlxuPC9yb3ctc2VsZWN0b3I+XG4iXX0=
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTJCLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBTyxNQUFNLG9CQUFvQixDQUFDO0FBR3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFF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QUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDMUYsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQzsrR0FyVlcsaUJBQWlCO21HQUFqQixpQkFBaUIsOGdFQUZsQixFQUFFLHVTQ3RDZCxzaExBc0pBLHVmRDlIRSxZQUFZLGliQUNaLG1CQUFtQixxYkFDbkIsYUFBYSxnR0FDYixZQUFZLCtFQUNaLG9CQUFvQixrUUFDcEIsY0FBYyxxS0FDZCxhQUFhLCtQQUNiLFVBQVUsNFhBQ1Ysb0JBQW9CLG1LQUNwQixhQUFhLGtEQUNiLG9CQUFvQjs7NEZBTVQsaUJBQWlCO2tCQXBCN0IsU0FBUzsrQkFDQyxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNSLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2Isb0JBQW9CO3FCQUNwQixhQUdVLEVBQUU7d0RBR08sS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNVLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRCxPQUFPO3NCQUEvQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VySGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3VzZXJIaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkLCBpbnB1dCwgZWZmZWN0LCBjb21wdXRlZCwgSW5wdXQsIHNpZ25hbCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50LCBGb3JtT3B0aW9ucyB9IGZyb20gJy4uL2Zvcm0vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3dTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL3Jvdy1zZWxlY3Rvci9yb3ctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IExvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xvZy9sb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IENydW1iQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcHNDb21wb25lbnQsIFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9zdGVwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZENvbXBvbmVudCwgR3JpZE9wdGlvbnMgfSBmcm9tICcuLi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFic01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFicyc7XG5pbXBvcnQgeyBBbUNvbXBvbmVudCwgR2V0IH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIcmVmQnRuTGlzdCwgR3JpZExpc3QgfSBmcm9tICcuL3BhZ2UtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uQnRuIH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IGZvcm1UeXBlVG9Qcm9wcyB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIcmVmQnRuTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYXBwLXBhZ2UtZm9ybScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHRCdXR0b25Nb2R1bGUsXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcblx0XHRGb3JtQ29tcG9uZW50LFxuXHRcdExvZ0NvbXBvbmVudCxcblx0XHRDcnVtYkFjdGlvbkNvbXBvbmVudCxcblx0XHRTdGVwc0NvbXBvbmVudCxcblx0XHRHcmlkQ29tcG9uZW50LFxuXHRcdFRhYnNNb2R1bGUsXG5cdFx0Um93U2VsZWN0b3JDb21wb25lbnQsXG5cdFx0VHJhbnNsYXRlUGlwZSxcblx0XHRIcmVmQnRuTGlzdENvbXBvbmVudCxcblx0XSxcblx0dGVtcGxhdGVVcmw6ICcuL3BhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsOiAnLi9wYWdlLWZvcm0uY29tcG9uZW50LnNjc3MnLFxuXHRwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlRm9ybUNvbXBvbmVudCBleHRlbmRzIEFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0QFZpZXdDaGlsZCgnY0Zvcm0nKSBjRm9ybSE6IEZvcm1Db21wb25lbnQ7XG5cdEBWaWV3Q2hpbGRyZW4oJ2N1c3RvbUdyaWQnKSBjdXN0b21HcmlkITogUXVlcnlMaXN0PEdyaWRDb21wb25lbnQ+O1xuXHRAVmlld0NoaWxkcmVuKCd0YWJGb3JtJykgdGFiRm9ybSE6IFF1ZXJ5TGlzdDxGb3JtQ29tcG9uZW50Pjtcblx0YWRkVmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG5cdGdyaWRMaXN0ID0gaW5wdXQ8YW55W10+KFtdKTtcblx0Zm9ybSA9IGlucHV0LnJlcXVpcmVkPEZvcm1PcHRpb25zPih7fSk7XG5cdGdldFBybUlucHV0ID0gaW5wdXQucmVxdWlyZWQ8R2V0Pih7fSk7XG5cdHN0YXR1c1N0ZXBzID0gaW5wdXQ8U3RlcFtdPihbXSk7XG5cdHN0YXR1c0tleSA9IGlucHV0KCdzdGF0dXMnKTtcblx0aHJlZkJ0bkxpc3QgPSBpbnB1dDxIcmVmQnRuTGlzdFtdPihbXSk7XG5cdHNldFRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuXHRhY3Rpb25MaXN0ID0gaW5wdXQ8UGVybWlzc2lvbkJ0bltdPihbXSk7XG5cdG1vZGVsTG9nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXHRmb3JtRGlzYWJsZWQgPSBpbnB1dDxGdW5jdGlvbj4oKTtcblx0c3RhdHVzQ29uZiA9IGlucHV0PGFueT4oKVxuXHRmb3JtRGV0YWlsID0gaW5wdXQ8YW55PigpXG5cdHNhdmVGdW5jID0gaW5wdXQ8YW55PigpXG5cblx0dXNlckhpc3RvcnlTZXJ2aWNlID0gaW5qZWN0KFVzZXJIaXN0b3J5U2VydmljZSk7XG5cdGluZGV4VmFsdWUgPSAwO1xuXHR2aXNpYmxlID0gZmFsc2U7XG5cdGRpYWxvZ1NlYXJjaFBybSE6IFNlYXJjaDtcblx0c2VsZWN0T3B0aW9ucyE6IEdyaWRPcHRpb25zO1xuXHRzZWxlY3REYXRhOiBhbnlbXSA9IFtdO1xuXHRwYWdlVXJsID0gJyc7XG5cdG5ld1VybCA9ICcnO1xuXHRpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblx0YXV0aExldmVsID0gaW5wdXQ8bnVtYmVyPigtMSk7XG5cdGhyZWZzOiBhbnlbXSA9IFtdO1xuXHRhY3Rpb24gPSBpbmplY3QoQWN0aW9uU2VydmljZSk7XG5cdHN1YkZvcm1Nb2RlbDphbnkgPSB7fVxuXHRzYXZlQnRuRGlzYWJsZSA9IGZhbHNlXG5cdGdyaWREaXNhYmxlID0gZmFsc2UgXG5cdHNlbGVjdGlvbktleXM6IGFueVtdID0gW107XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5pZCA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSk7XG5cdFx0dGhpcy5wYWdlVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC51cmxcblx0XHRcdC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQucGF0aClcblx0XHRcdC5qb2luKCcvJylcblx0XHRcdC5yZXBsYWNlKC8oW15cXC9dKikkLywgJycpO1xuXHRcdHRoaXMubmV3VXJsID0gYCR7dGhpcy5wYWdlVXJsfW5ld2A7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHR0aGlzLm1vZGVsTmFtZSA9IHRoaXMuZ2V0UHJtSW5wdXQoKS5tb2RlbE5hbWUhO1xuXHRcdFx0XHR0aGlzLmdldFBybSA9IHsgLi4udGhpcy5nZXRQcm1JbnB1dCgpIH07XG5cdFx0XHRcdHRoaXMuaWQgJiYgKHRoaXMuZ2V0UHJtLmlkID0gdGhpcy5pZCk7XG5cdFx0XHRcdGlmKHRoaXMuaWQpe1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHR5cGVvZiB0aGlzLmZvcm1EZXRhaWwoKSwnZm9ybS0tLS0nKVxuXHRcdFx0XHRcdHR5cGVvZiB0aGlzLmZvcm1EZXRhaWwoKSA9PSAnZnVuY3Rpb24nID8gdGhpcy5mb3JtRGV0YWlsKCkodGhpcy5pZCkgOiB0aGlzLmdldERldGFpbCgpO1xuXHRcdFx0XHR9ZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5nZXRQcm0uZGF0YSA9IHt9XG5cdFx0XHRcdFx0dGhpcy5ncmlkTGlzdCgpLmZvckVhY2godiA9PiB7XG5cdFx0XHRcdFx0XHRpZih2LnR5cGUgPT0gJ2dyaWQnKXtcblx0XHRcdFx0XHRcdFx0dGhpcy5nZXRQcm0uZGF0YVt2LnN1YkRhdGFLZXldID0gW11cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0dGhpcy5mb3JtT3B0aW9ucyA9IHsgLi4udGhpcy5mb3JtKCkgfTtcblx0XHR9KTtcblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdHRoaXMuaXNMb2cgPSB0aGlzLm1vZGVsTG9nKCk7XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5zdGF0dXNTdGVwcygpLmxlbmd0aCA+IDAgJiYgIXRoaXMuaWQpIHtcblx0XHRcdFx0XHR0aGlzLnVwc2VydFBybS5hZGREYXRhIVt0aGlzLnN0YXR1c0tleSgpXSA9IHRoaXMuc3RhdHVzU3RlcHMoKVswXVsndmFsdWUnXTtcblx0XHRcdFx0XHR0aGlzLmdldFBybS5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmdldFBybS5kYXRhIHx8IHt9LCB7XG5cdFx0XHRcdFx0XHRbdGhpcy5zdGF0dXNLZXkoKV06IHRoaXMuc3RhdHVzU3RlcHMoKVswXVsndmFsdWUnXSxcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcblx0XHQpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRpZih0aGlzLmF1dGhMZXZlbCgpIDwgMyl7XG5cdFx0XHRcdHRoaXMuc2V0RGlzYWJsZWQoKVxuXHRcdFx0fVxuXHRcdH0se2FsbG93U2lnbmFsV3JpdGVzOnRydWV9KVxuXHR9XG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMudXBDYiA9IHRoaXMudXBDYi5iaW5kKHRoaXMpO1xuXHR9XG5cblx0c3VibWl0Rm9ybSgpOiBhbnkge1xuXHRcdC8vIHRoaXMudGFiRm9ybS52YWxpZGF0ZSgpXG5cdFx0Y29uc29sZS5sb2coJ2dldFBybS0tLS0tLScsdGhpcy5nZXRQcm0pXG5cdFx0bGV0IHN1YkZvcm0gPSB0cnVlXG5cdFx0aWYodGhpcy50YWJGb3JtLmxlbmd0aCA+IDApe1xuXHRcdFx0dGhpcy50YWJGb3JtLmZvckVhY2goaXRlbSA9PiB7XG5cdFx0XHRcdGlmKCFpdGVtLnZhbGlkYXRlKCkpe1xuXHRcdFx0XHRcdHN1YkZvcm0gPSBmYWxzZVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH1cblx0XHRpZiAodGhpcy5jRm9ybS52YWxpZGF0ZSgpICYmIHN1YkZvcm0pIHtcblx0XHRcdGxldCBjYjogYW55ID0gdGhpcy5pZCA9PT0gMCA/IG51bGwgOiB0aGlzLnVwQ2I7XG5cdFx0XHR0eXBlb2YgdGhpcy5zYXZlRnVuYygpID09ICdmdW5jdGlvbicgPyB0aGlzLnNhdmVGdW5jKCkodGhpcy51cHNlcnRQcm0sdGhpcy5pZCxjYikgOiB0aGlzLnVwc2VydChudWxsLCBjYik7XG5cdFx0fVxuXHR9XG5cblx0ZGVsUm93cyhlOiBhbnkpIHtcblx0XHRjb25zdCBncmlkVGFiID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV07XG5cdFx0Y29uc3QgZGVsZXRlRnVuYyA9IGdyaWRUYWIuZGVsZXRlRnVuYztcblx0XHRjb25zdCBzdWJUYWJsZSA9IGdyaWRUYWIuZ3JpZE9wdGlvbnMubW9kZWxOYW1lO1xuXG5cdFx0bGV0IHBybSA9IHtcblx0XHRcdG1vZGVsTmFtZTogc3ViVGFibGUsXG5cdFx0XHRpZHM6IGUsXG5cdFx0fTtcblx0XHRpZiAoIWRlbGV0ZUZ1bmMpIHtcblx0XHRcdHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XG5cdFx0XHRcdHRoaXMuZ2V0KCk7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVsZXRlRnVuYygpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZ2V0KCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblx0dXBDYihyZXM/OiBhbnkpIHtcblx0XHRpZiAocmVzLmlkID09IDApIHtcblx0XHRcdHR5cGVvZiB0aGlzLmZvcm1EZXRhaWwoKSA9PSAnZnVuY3Rpb24nID8gdGhpcy5mb3JtRGV0YWlsKCkodGhpcy5pZCkgOiB0aGlzLmdldERldGFpbCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0bGV0IGVkaXRVcmwgPSBgJHt0aGlzLnBhZ2VVcmx9JHtyZXMuaWR9YDtcblx0XHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2VkaXRVcmxdKTtcblx0XHRcdH0sIDE1MDApO1xuXHRcdH1cblx0XHR0aGlzLmFjdGlvbi5zYXZlU2lnbmFsLnNldChmYWxzZSk7XG5cdFx0dGhpcy5jRm9ybS5maW5hbGl6ZSgpO1xuXHR9XG5cdC8vIFRPRE8g5piv5ZCm6ZyA6KaB5pWw5o2u6L2s5o2i5Zue6LCD5Ye95pWwXG5cdG9uT2soZTogYW55KSB7XG5cdFx0Y29uc3QgZ3JpZCA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdO1xuXHRcdHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdLnNlbGVjdERhdGEgPSBbXTtcblx0XHRpZiAoZS5sZW5ndGggPiAwKSB7XG5cdFx0XHRsZXQgdW5pcXVlS2V5cyA9IFtdO1xuXHRcdFx0aWYgKGdyaWQudW5pcXVlRmllbGQpIHtcblx0XHRcdFx0Y29uc3Qgcm93RGF0YSA9IHRoaXMuY3VzdG9tR3JpZC5nZXQodGhpcy5pbmRleFZhbHVlKSFcblx0XHRcdFx0XHQuZ2V0R3JpZCgpXG5cdFx0XHRcdFx0LmFwaS5nZXRSZW5kZXJlZE5vZGVzKClcblx0XHRcdFx0XHQubWFwKChub2RlKSA9PiBub2RlLmRhdGEpO1xuXHRcdFx0XHR1bmlxdWVLZXlzID0gcm93RGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbVtncmlkLnVuaXF1ZUZpZWxkIV0pO1xuXHRcdFx0fVxuXHRcdFx0ZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcblx0XHRcdFx0bGV0IG9iaiA9IGdyaWQuc2VsZWN0RGF0YUNiID8gZ3JpZC5zZWxlY3REYXRhQ2IoaXRlbSkgOiB7IC4uLml0ZW0gfTtcblx0XHRcdFx0aWYgKGdyaWQudW5pcXVlRmllbGQgJiYgdW5pcXVlS2V5cy5pbmNsdWRlcyhvYmpbZ3JpZC51bmlxdWVGaWVsZCFdIHx8ICcnKSkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRncmlkLnNlbGVjdERhdGEhLnB1c2gob2JqKTtcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5hY3Rpb24uc2F2ZVNpZ25hbC5zZXQodHJ1ZSk7XG5cdFx0fVxuXHR9XG5cdGdldERldGFpbCgpIHtcblx0XHR0aGlzLndlYl9nZXQodGhpcy5nZXRQcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XG5cdFx0XHR0aGlzLmRldGFpbENiKHJlcylcblx0XHR9KTtcblx0fVxuXHQvLyDojrflj5bor6bmg4Xlm57osINcblx0ZGV0YWlsQ2IocmVzOmFueSl7XG5cdFx0dGhpcy51cGRhdGVUaXRsZShyZXMpO1xuXHRcdGlmKHR5cGVvZiB0aGlzLmZvcm1EaXNhYmxlZCgpID09ICdmdW5jdGlvbicpe1xuXHRcdFx0dGhpcy5mb3JtRGlzRnVuYygpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5ocmVmQnRuTGlzdCgpLmxlbmd0aCA+IDApIHtcblx0XHRcdHRoaXMuc2V0SHJlZlZhbHVlKCk7XG5cdFx0fVxuXHRcdHRoaXMuZ3JpZExpc3QoKS5mb3JFYWNoKHYgPT4ge1xuXHRcdFx0aWYodi50eXBlID09ICdmb3JtJyl7XG5cdFx0XHRcdHRoaXMuc3ViRm9ybU1vZGVsW3Yuc3ViRGF0YUtleV0gPSByZXNbdi5zdWJEYXRhS2V5XVswXVxuXHRcdFx0fVxuXHRcdH0pXG5cdH1cblx0c2V0SHJlZlZhbHVlKCkge1xuXHRcdHRoaXMuaHJlZkJ0bkxpc3QoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xuXHRcdFx0aWYgKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3NlYXJjaENvdW50JykgJiYgdHlwZW9mIGl0ZW0uc2VhcmNoQ291bnQgPT0gJ29iamVjdCcpIHtcblx0XHRcdFx0aXRlbS5zZWFyY2hDb3VudC5jb2x1bW5GaWx0ZXJzLmZvckVhY2goKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdGlmICh0eXBlb2Ygdi5maXRlciA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdFx0di5maXRlciA9IHYuZml0ZXIodGhpcy5nZXRQcm0uZGF0YSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy53ZWJfc2VhcmNoQ291bnQoaXRlbS5zZWFyY2hDb3VudCkuc3Vic2NyaWJlKChyZXMpID0+IHtcblx0XHRcdFx0XHRpdGVtLnZhbHVlID0gcmVzLnRvdGFsTnVtIHx8IDA7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdHVwZGF0ZVRpdGxlKHJlczogYW55KSB7XG5cdFx0bGV0IG1haW5GaWVsZCA9IHRoaXMuZm9ybSgpLm1haW5GaWVsZDtcblx0XHRsZXQgdGl0bGUgPSByZXNbbWFpbkZpZWxkIV07XG5cdFx0dGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKHRpdGxlKTtcblx0fVxuXHRkYXRhU291cmNlU2hvdygpIHtcblx0XHRjb25zdCBncmlkID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV07XG5cdFx0dGhpcy5kaWFsb2dTZWFyY2hQcm0gPSB7fTtcblx0XHR0aGlzLnNlbGVjdE9wdGlvbnMgPSB0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXVsnc2VsZWN0T3B0aW9ucyddITtcblx0XHRpZih0aGlzLnNlbGVjdE9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ3NlYXJjaFBybScpKXtcblx0XHRcdFx0KHRoaXMuc2VsZWN0T3B0aW9ucyBhcyBhbnkpLnNlYXJjaFBybS5jb2x1bW5GaWx0ZXJzLmZvckVhY2goKHY6YW55KSA9PiB7XG5cdFx0XHRcdGlmKHR5cGVvZiB2LmZpdGVyID09ICdmdW5jdGlvbicpe1xuXHRcdFx0XHRcdHYuZml0ZXIgPSB2LmZpdGVyKG51bGwsdGhpcy5nZXRQcm0uZGF0YSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHRcdHRoaXMuZGlhbG9nU2VhcmNoUHJtID0gKHRoaXMuc2VsZWN0T3B0aW9ucyBhcyBhbnkpLnNlYXJjaFBybVxuXHRcdH1cblx0XHRjb25zb2xlLmxvZygnc2VsZXRjLS0tLS0nLCB0aGlzLnNlbGVjdE9wdGlvbnMpO1xuXHRcdHRoaXMuZGlhbG9nU2VhcmNoUHJtLm1vZGVsTmFtZSA9IHRoaXMuc2VsZWN0T3B0aW9ucy5tb2RlbE5hbWU7XG5cdFx0aWYoZ3JpZC51bmlxdWVGaWVsZCkge1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25LZXlzID0gdGhpcy5nZXRQcm0uZGF0YT8uW2dyaWQuc3ViRGF0YUtleSFdPy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbVtncmlkLnVuaXF1ZUZpZWxkIV0pIHx8IFtdO1xuXHRcdH0gZWxzZXtcblx0XHRcdHRoaXMuc2VsZWN0aW9uS2V5cyA9IFtdO1xuXHRcdH1cblx0XHR0aGlzLnZpc2libGUgPSB0cnVlO1xuXHR9XG5cblx0Z29SdW4oZGF0YTogYW55KSB7XG5cdFx0aWYgKHR5cGVvZiBkYXRhLnVybCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0bGV0IHVybCA9IGRhdGEudXJsKHRoaXMuZ2V0UHJtLmRhdGEpO1xuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6ICdXYXJuJywgZGV0YWlsOiAn6K+36YWN572u6Lez6L2s6ZO+5o6lJyB9KTtcblx0XHR9XG5cdH1cblxuXHRhdXRoQ2xpY2soYnRuOiBhbnkpIHtcblx0XHRpZiAoYnRuLmhhc093blByb3BlcnR5KCdvbkNsaWNrJykpIHtcblx0XHRcdGJ0bi5vbkNsaWNrKHRoaXMuZ2V0UHJtLmRhdGEpO1xuXHRcdH1cblx0fVxuXHRzdGF0dXNDaGFuZ2UodmFsdWU6IGFueSwgY3VzdG9tU3RlcHM6IFN0ZXBzQ29tcG9uZW50KSB7XG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0IHx8ICF0aGlzLnN0YXR1c0NvbmYoKS5pc0NsaWNrKSByZXR1cm47XG5cdFx0aWYgKHRoaXMuaWQpIHtcblx0XHRcdGxldCBwYXJhbTogYW55ID0ge1xuXHRcdFx0XHRtb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLFxuXHRcdFx0XHRkYXRhOiB7IGlkOiB0aGlzLmlkLCBbdGhpcy5zdGF0dXNLZXkoKV06IHZhbHVlIH0sXG5cdFx0XHR9O1xuXHRcdFx0aWYgKHRoaXMuaXNMb2cpIHtcblx0XHRcdFx0cGFyYW0ubG9nTW9kZWwgPSBgJHt0aGlzLm1vZGVsTmFtZX1Mb2dgO1xuXHRcdFx0XHRwYXJhbS5sb2cgPSB7XG5cdFx0XHRcdFx0cGlkOiB0aGlzLmlkLFxuXHRcdFx0XHRcdGNvbnRlbnQ6IGBb54q25oCBXSAke3RoaXMuZ2V0UHJtLmRhdGEhW3RoaXMuc3RhdHVzS2V5KCldfSAtPiAke3ZhbHVlfWAsXG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0XHR0aGlzLndlYl93cml0ZShwYXJhbSkuc3Vic2NyaWJlKChyZXMpID0+IHtcblx0XHRcdFx0dGhpcy5nZXREZXRhaWwoKTtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmdldFBybS5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmdldFBybS5kYXRhIHx8IHt9LCB7XG5cdFx0XHRcdFt0aGlzLnN0YXR1c0tleSgpXTogdmFsdWUsXG5cdFx0XHR9KTtcblx0XHRcdHRoaXMudXBzZXJ0UHJtLmFkZERhdGEhW3RoaXMuc3RhdHVzS2V5KCldID0gdmFsdWU7XG5cdFx0XHR0aGlzLmNGb3JtLnRyaWdnZXJNb2RlbEVmZmVjdCh7IFt0aGlzLnN0YXR1c0tleSgpXTogdmFsdWUgfSk7XG5cdFx0XHQvLyBjdXN0b21TdGVwcy5yZWZyZXNoU3RlcHMoKVxuXHRcdH1cblx0fVxuXG5cdGZvcm1EaXNGdW5jKCkge1xuXHRcdGxldCBkYXRhID0gdGhpcy5mb3JtRGlzYWJsZWQoKSEodGhpcy5nZXRQcm0uZGF0YSk7XG5cdFx0aWYodHlwZW9mIGRhdGEgPT09ICdib29sZWFuJyl7XG5cdFx0XHR0aGlzLnNhdmVCdG5EaXNhYmxlID0gZGF0YVxuXHRcdFx0dGhpcy5ncmlkRGlzYWJsZSA9IGRhdGFcblx0XHRcdHRoaXMuZGlzYWJsZUZvcm0oZGF0YSlcblx0XHRcdHRoaXMuZGlzYWJlbGRDaGlsZChkYXRhKVxuXHRcdH1cblx0XHRpZih0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpe1xuXHRcdFx0Y29uc3QgZGlzYWJlbGQgPSBkYXRhLmRpc2FibGVkXG5cdFx0XHRjb25zdCBmaWx0ZXJzID0gZGF0YS5maWx0ZXJzIHx8IFtdXG5cdFx0XHRpZighZmlsdGVycy5pbmNsdWRlcygnZm9ybScpKXtcblx0XHRcdFx0dGhpcy5kaXNhYmxlRm9ybShkaXNhYmVsZClcblx0XHRcdH1cblx0XHRcdGlmKCFmaWx0ZXJzLmluY2x1ZGVzKCdncmlkJykpe1xuXHRcdFx0XHR0aGlzLmdyaWREaXNhYmxlID0gZGlzYWJlbGRcblx0XHRcdFx0dGhpcy5kaXNhYmVsZENoaWxkKGRpc2FiZWxkKVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRkaXNhYmxlRm9ybShkaXNhYmxlOmJvb2xlYW4pe1xuXHRcdHRoaXMuZm9ybU9wdGlvbnMuZmllbGRzPy5mb3JFYWNoKCh2KSA9PiB7XG5cdFx0XHR2Lmdyb3VwPy5mb3JFYWNoKChnOiBhbnkpID0+IHtcblx0XHRcdFx0bGV0IGZpZWxkRGlzYWJsZWQgPSBnW2Zvcm1UeXBlVG9Qcm9wc1tnLnR5cGVdXS5kaXNhYmxlZCB8fCBmYWxzZTtcblx0XHRcdFx0aWYgKGRpc2FibGUpIHtcblx0XHRcdFx0XHR0aGlzLmNGb3JtLmdldEZpZWxkKGcua2V5KT8uZmllbGRDb250cm9sIS5tYXJrQXNQcmlzdGluZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuXHRcdFx0XHRcdHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCFmaWVsZERpc2FibGVkICYmIHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pO1x0XHRcblx0fVxuXHRkaXNhYmVsZENoaWxkKGRpc2FiZWxkOmJvb2xlYW4pe1xuXHRcdHRoaXMuZ3JpZExpc3QoKS5mb3JFYWNoKCh2LGluZGV4OmFueSkgPT4ge1xuXHRcdFx0aWYodi50eXBlID09ICdncmlkJyl7XG5cdFx0XHRcdHYuZ3JpZE9wdGlvbnMuY29sdW1uRGVmcy5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xuXHRcdFx0XHRcdGlmKGRpc2FiZWxkICYmIGl0ZW0uaGFzT3duUHJvcGVydHkoJ2VkaXRhYmxlJykpe1xuXHRcdFx0XHRcdFx0aXRlbS5lZGl0YWJsZSA9IGZhbHNlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHR0aGlzLmN1c3RvbUdyaWQuZ2V0KGluZGV4KSEuZ2V0R3JpZCgpLmFwaS5zZXRHcmlkT3B0aW9uKFxuXHRcdFx0XHRcdCdjb2x1bW5EZWZzJywgXG5cdFx0XHRcdFx0di5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzXG5cdFx0XHRcdClcblx0XHRcdH0gZWxzZSBpZih2LnR5cGUgPT0gJ2Zvcm0nKXtcblx0XHRcdFx0di5maWVsZHM/LmZvckVhY2goKGl0ZW06YW55LCkgPT4ge1xuXHRcdFx0XHRcdGl0ZW0uZ3JvdXA/LmZvckVhY2goKGc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0bGV0IGZpZWxkRGlzYWJsZWQgPSBnW2Zvcm1UeXBlVG9Qcm9wc1tnLnR5cGVdXS5kaXNhYmxlZCB8fCBmYWxzZTtcblx0XHRcdFx0XHRcdGlmIChkaXNhYmVsZCkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnRhYkZvcm0uZ2V0KGluZGV4KSEuZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLm1hcmtBc1ByaXN0aW5lKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblx0XHRcdFx0XHRcdFx0dGhpcy50YWJGb3JtLmdldChpbmRleCkhLmdldEZpZWxkKGcua2V5KT8uZmllbGRDb250cm9sIS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdCFmaWVsZERpc2FibGVkICYmIHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pXG5cdH1cblx0c2V0RGlzYWJsZWQoKXtcblx0XHR0aGlzLmdyaWRMaXN0KCkuZm9yRWFjaCgodixpbmRleDphbnkpID0+IHtcblx0XHRcdGlmKHYudHlwZSA9PSAnZm9ybScpe1xuXHRcdFx0XHR2LmZpZWxkcz8uZm9yRWFjaCgoaXRlbTphbnksKSA9PiB7XG5cdFx0XHRcdFx0aXRlbS5ncm91cD8uZm9yRWFjaCgoZzogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnRhYkZvcm0uZ2V0KGluZGV4KSEuZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KVxuXHR9XG5cdHRhYkNsaWNrKCl7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHR0aGlzLnRhYkZvcm0uZ2V0KHRoaXMuaW5kZXhWYWx1ZSkgJiYgdGhpcy50YWJGb3JtLmdldCh0aGlzLmluZGV4VmFsdWUpIS5yZUNhbGNMYWJlbFNpemUoKVxuXHRcdH0sMClcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cIm1kOm92ZXJmbG93LWhpZGRlblwiPlxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBtZDpmbGV4LXdyYXAgbGc6ZmxleC1ub3dyYXAgaXRlbXMtY2VudGVyIG1kOmp1c3RpZnktYmV0d2VlbiBweS0xIHB4LTEgYm9yZGVyLWItWzFweF0gYm9yZGVyLVsjZGJkYmRiXSBiZy13aGl0ZVwiPlxuXHRcdDxkaXYgY2xhc3M9XCJtZDpiYXNpcy0xLzMgb3JkZXItMVwiPlxuXHRcdFx0PGFwcC1jcnVtYi1hY3Rpb25cblx0XHRcdFx0W2FkZFZpc2libGVdPVwiYWRkVmlzaWJsZSgpXCJcblx0XHRcdFx0W25ld1VybF09XCJuZXdVcmxcIlxuXHRcdFx0XHRbaXNTaG93Q29nXT1cInRydWVcIlxuXHRcdFx0XHRbb3V0bGluZWRdPVwidHJ1ZVwiXG5cdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxuXHRcdFx0XHRbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0KClcIlxuXHRcdFx0XHRbZGF0YV09XCJnZXRQcm0uZGF0YSA/PyB7fVwiXG5cdFx0XHRcdFtzYXZlQnRuRGlzYWJsZV09XCJzYXZlQnRuRGlzYWJsZVwiXG5cdFx0XHRcdChhY3Rpb25FdmVudCk9XCJhdXRoQ2xpY2soJGV2ZW50KVwiXG5cdFx0XHRcdChzYXZlRXZlbnQpPVwic3VibWl0Rm9ybSgpXCI+XG5cdFx0XHQ8L2FwcC1jcnVtYi1hY3Rpb24+XG5cdFx0PC9kaXY+XG5cblx0XHQ8ZGl2IGNsYXNzPVwiYmFzaXMtMS81IGxnOmJhc2lzLTIvMyBvcmRlci0yIGxnOm9yZGVyLTIgbWQ6b3JkZXItbGFzdCBtZDpiYXNpcy1mdWxsIG1kOm10LVs2cHhdXCI+XG5cdFx0XHQ8aHJlZi1idG4tbGlzdFxuXHRcdFx0XHRbaHJlZnNdPVwiaHJlZkJ0bkxpc3QoKVwiXG5cdFx0XHRcdChocmVmQ2xpY2spPVwiZ29SdW4oJGV2ZW50KVwiPjwvaHJlZi1idG4tbGlzdD5cblx0XHRcdDwhLS0gQGlmIChpZCkge1xuXHRcdFx0XHRAZm9yIChidG4gb2YgaHJlZkJ0bkxpc3QoKTsgdHJhY2sgYnRuKSB7XG5cdFx0XHRcdFx0PHAtYnV0dG9uXG5cdFx0XHRcdFx0XHRbdmFyaWFudF09XCJidG4/LnZhcmlhbnRcIlxuXHRcdFx0XHRcdFx0W3NldmVyaXR5XT1cImJ0bj8uc2V2ZXJpdHlcIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJtci1bNnB4XVwiXG5cdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIlxuXHRcdFx0XHRcdFx0W2ljb25dPVwiYnRuPy5pY29uXCJcblx0XHRcdFx0XHRcdGxhYmVsPVwie3sgYnRuLmkxOG5LZXkgPyBpMThuLmZhbnlpKGJ0bi5pMThuS2V5KSA6IGJ0bi5sYWJlbCB9fVwiXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwiZ29SdW4oYnRuKVwiPlxuXHRcdFx0XHRcdDwvcC1idXR0b24+XG5cdFx0XHRcdH1cblx0XHRcdH0gLS0+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImJhc2lzLTEvMyBvcmRlci0zXCI+PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxuXHRcdDxkaXYgY2xhc3M9XCJweC0yIGZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBmbGV4LTFcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6YmFzaXMtMS8zIHB5LTEgYmFzaXMtZnVsbCBtZDpmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LXJvdyBvcmRlci0xXCI+XG5cdFx0XHRcdEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25MaXN0KCk7IGxldCBpID0gJGluZGV4OyB0cmFjayBhY3Rpb24pIHtcblx0XHRcdFx0XHQ8cC1idXR0b25cblx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJnZXRQcm0uZGF0YT8uaWNvblwiXG5cdFx0XHRcdFx0XHRbbGFiZWxdPVwiYWN0aW9uLmkxOG5LZXkgPyAoYWN0aW9uLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmxhYmVsXCJcblx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJhY3Rpb24uYnRuRGlzYWJsZWQgPyBhY3Rpb24uYnRuRGlzYWJsZWQoZ2V0UHJtLmRhdGEpIDogZmFsc2VcIlxuXHRcdFx0XHRcdFx0W3N0eWxlQ2xhc3NdPVwiXG5cdFx0XHRcdFx0XHRcdChhY3Rpb24uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWFjdGlvbi5idG5IaWRkZW4/LihnZXRQcm0uZGF0YSlcblx0XHRcdFx0XHRcdFx0XHQ/ICdmb3JtLWFjdGlvbiBoaWRkZW4nXG5cdFx0XHRcdFx0XHRcdFx0OiAnZm9ybS1hY3Rpb24gYmxvY2sgbXItWy41cmVtXSdcblx0XHRcdFx0XHRcdFwiXG5cdFx0XHRcdFx0XHQob25DbGljayk9XCJhY3Rpb24ub25DbGljayAhPSAnJyAmJiBhY3Rpb24ub25DbGljaz8uKGdldFBybS5kYXRhKVwiPlxuXHRcdFx0XHRcdDwvcC1idXR0b24+XG5cdFx0XHRcdH1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGZsZXggbWQ6ZmxleC1yb3ctcmV2ZXJzZSBmbGV4LXJvdyBtZDpvcmRlci0yIG9yZGVyLWZpcnN0IHctZnVsbFwiPlxuXHRcdFx0XHQ8Y3VzdG9tLXN0ZXBzXG5cdFx0XHRcdFx0I2N1c3RvbVN0ZXBzXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGxcIlxuXHRcdFx0XHRcdFtzdGVwc109XCJzdGF0dXNTdGVwcygpXCJcblx0XHRcdFx0XHRbbW9kZWxMb2ddPVwibW9kZWxMb2coKVwiXG5cdFx0XHRcdFx0W2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCJcblx0XHRcdFx0XHRbYXV0aExldmVsXT1cImF1dGhMZXZlbCgpXCJcblx0XHRcdFx0XHRbaXNDbGlja109XCJ0aGlzLnN0YXR1c0NvbmYoKS5pc0NsaWNrXCJcblx0XHRcdFx0XHQoY2hhbmdlKT1cInN0YXR1c0NoYW5nZSgkZXZlbnQsIGN1c3RvbVN0ZXBzKVwiPlxuXHRcdFx0XHQ8L2N1c3RvbS1zdGVwcz5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdEBpZiAobW9kZWxMb2coKSkge1xuXHRcdFx0PGRpdiBjbGFzcz1cIm1kOnctWzQwMHB4XVwiPjwvZGl2PlxuXHRcdH1cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJtYWluIGZsZXggZmxleC13cmFwIG1kOm92ZXJmbG93LXktaGlkZGVuXCI+XG5cdFx0PGRpdiBjbGFzcz1cInctZnVsbCBtZDpmbGV4LTEgbWQ6aC1mdWxsIG92ZXJmbG93LXktYXV0b1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImJnLXdoaXRlIG14LTIgZm9ybS1wYW5lbFwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicC0yIGZsZXgtMVwiPlxuXHRcdFx0XHRcdDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybSgpLmZvcm0hXCI+XG5cdFx0XHRcdFx0XHQ8Y3VzdG9tLWZvcm1cblx0XHRcdFx0XHRcdFx0I2NGb3JtXG5cdFx0XHRcdFx0XHRcdFtvcHRpb25zXT1cImZvcm1PcHRpb25zXCJcblx0XHRcdFx0XHRcdFx0W3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxuXHRcdFx0XHRcdFx0XHRbbW9kZWxdPVwiZ2V0UHJtLmRhdGEgPz8ge31cIj48L2N1c3RvbS1mb3JtPlxuXHRcdFx0XHRcdDwvZm9ybT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdEBpZiAoZ3JpZExpc3QoKSAmJiBncmlkTGlzdCgpLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicmVsYXRpdmUgbWItMlwiPlxuXHRcdFx0XHRcdFx0PHAtdGFicyBbKHZhbHVlKV09XCJpbmRleFZhbHVlXCI+XG5cdFx0XHRcdFx0XHRcdDxwLXRhYmxpc3Q+XG5cdFx0XHRcdFx0XHRcdFx0QGZvciAoZmNoaWxkIG9mIGdyaWRMaXN0KCk7IGxldCBpID0gJGluZGV4OyB0cmFjayBmY2hpbGQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdDxwLXRhYlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbdmFsdWVdPVwiaVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJ0YWJDbGljaygpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGZjaGlsZC5pMThuS2V5ID8gaTE4bi5mYW55aShmY2hpbGQuaTE4bktleSkgOiBmY2hpbGQudGl0bGUgfX1cblx0XHRcdFx0XHRcdFx0XHRcdDwvcC10YWI+XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQ8L3AtdGFibGlzdD5cblx0XHRcdFx0XHRcdDwvcC10YWJzPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHR9XG5cdFx0XHRcdEBmb3IgKGdyaWQgb2YgZ3JpZExpc3QoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGdyaWQpIHtcblx0XHRcdFx0XHRAaWYgKGdyaWQudHlwZSA9PSAnZ3JpZCcpIHtcblx0XHRcdFx0XHRcdDxjdXN0b20tZ3JpZFxuXHRcdFx0XHRcdFx0XHQjY3VzdG9tR3JpZFxuXHRcdFx0XHRcdFx0XHRbaGlkZGVuXT1cImluZGV4VmFsdWUgIT0gaVwiXG5cdFx0XHRcdFx0XHRcdFtyb3dEYXRhXT1cImdldFBybS5kYXRhPy5bZ3JpZC5zdWJEYXRhS2V5IV1cIlxuXHRcdFx0XHRcdFx0XHRbdXBzZXJ0XT1cInVwc2VydFBybVwiXG5cdFx0XHRcdFx0XHRcdChkZWxldGVFbWl0KT1cImRlbFJvd3MoJGV2ZW50KVwiXG5cdFx0XHRcdFx0XHRcdFthZGRUeXBlXT1cImdyaWQuc3ViVGFibGVTb3VyY2VcIlxuXHRcdFx0XHRcdFx0XHQoYWRkRW1pdCk9XCJkYXRhU291cmNlU2hvdygpXCJcblx0XHRcdFx0XHRcdFx0W2dyaWRPcHRpb25zXT1cImdyaWQuZ3JpZE9wdGlvbnNcIlxuXHRcdFx0XHRcdFx0XHRbZ3JpZERpc2FibGVdPVwiZ3JpZERpc2FibGVcIlxuXHRcdFx0XHRcdFx0XHRbYXV0aExldmVsXT1cImF1dGhMZXZlbCgpXCJcblx0XHRcdFx0XHRcdFx0W3Nob3dEZWxldGVdPVwiZ3JpZC5zaG93RGVsZXRlXCJcblx0XHRcdFx0XHRcdFx0W3NlbGVjdERhdGFdPVwiZ3JpZC5zZWxlY3REYXRhXCI+XG5cdFx0XHRcdFx0XHQ8L2N1c3RvbS1ncmlkPlxuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0PCEtLSBAaWYoaW5kZXhWYWx1ZSA9PSBpKXtcblx0XHRcdFx0XHRcdFx0PGZvcm0gW2Zvcm1Hcm91cF09XCJncmlkLmZvcm0hXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGN1c3RvbS1mb3JtXG5cdFx0XHRcdFx0XHRcdFx0W29wdGlvbnNdPVwiZ3JpZFwiXG5cdFx0XHRcdFx0XHRcdFx0W3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxuXHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0PC9jdXN0b20tZm9ybT5cblx0XHRcdFx0XHRcdFx0PC9mb3JtPlxuXHRcdFx0XHRcdFx0fSAtLT5cblx0XHRcdFx0XHRcdDxjdXN0b20tZm9ybVxuXHRcdFx0XHRcdFx0XHQjdGFiRm9ybVxuXHRcdFx0XHRcdFx0XHRbaGlkZGVuXT1cImluZGV4VmFsdWUgIT0gaVwiXG5cdFx0XHRcdFx0XHRcdFtvcHRpb25zXT1cImdyaWRcIlxuXHRcdFx0XHRcdFx0XHRbdXBzZXJ0XT1cInVwc2VydFBybVwiXG5cdFx0XHRcdFx0XHRcdFttb2RlbF09XCJzdWJGb3JtTW9kZWxbZ3JpZC5zdWJEYXRhS2V5IV0gfHwge31cIj5cblx0XHRcdFx0XHRcdDwvY3VzdG9tLWZvcm0+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHRAaWYgKG1vZGVsTG9nKCkpIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1bNDAwcHhdIG1kOmgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cblx0XHRcdFx0PGN1c3RvbS1sb2cgW2xvZ3NdPVwiZ2V0UHJtLmRhdGE/LmxvZyA/PyBbXVwiPjwvY3VzdG9tLWxvZz5cblx0XHRcdDwvZGl2PlxuXHRcdH1cblx0PC9kaXY+XG48L2Rpdj5cbjxyb3ctc2VsZWN0b3Jcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcblx0W3NlYXJjaFBybV09XCJkaWFsb2dTZWFyY2hQcm1cIlxuXHRbZ3JpZE9wdGlvbnNdPVwic2VsZWN0T3B0aW9uc1wiXG5cdFtzZWxlY3Rpb25LZXlzXT1cInNlbGVjdGlvbktleXNcIlxuXHQob25Payk9XCJvbk9rKCRldmVudClcIj5cbjwvcm93LXNlbGVjdG9yPlxuIl19
|
|
@@ -299,7 +299,7 @@ export const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
299
299
|
fiterPreloads = [...fiterPreloads, ...item.fiterPreloads];
|
|
300
300
|
}
|
|
301
301
|
if (item.type == 'grid') {
|
|
302
|
-
let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode } = item;
|
|
302
|
+
let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode, isRowSelectable } = item;
|
|
303
303
|
grid = { subTableSource, subDataKey, title, showDelete, ...grid };
|
|
304
304
|
let gridOptions = {
|
|
305
305
|
...restGridOptions,
|
|
@@ -325,12 +325,15 @@ export const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
325
325
|
if (selectionMode) {
|
|
326
326
|
gridOptions.selectionMode = selectionMode;
|
|
327
327
|
}
|
|
328
|
+
if (isRowSelectable) {
|
|
329
|
+
gridOptions.isRowSelectable = isRowSelectable;
|
|
330
|
+
}
|
|
328
331
|
convertCol(gridOptions, columnDefs, thisArg.authLevel, gridOptions.modelName, dragSort);
|
|
329
332
|
gridOptions.columnDefs = columnDefs;
|
|
330
333
|
if (subTableSource === 'select') {
|
|
331
334
|
thisArg.webget({ code: item.selectModelCode }).subscribe((res) => {
|
|
332
|
-
let selectContent = JSON.parse(res.content);
|
|
333
|
-
grid.selectOptions =
|
|
335
|
+
let selectContent = parseFunctions(JSON.parse(res.content), thisArg);
|
|
336
|
+
grid.selectOptions = selectContent?.gridOptions;
|
|
334
337
|
grid.selectOptions.rowModelType = grid.selectOptions.rowModelType || 'serverSide';
|
|
335
338
|
if (grid.selectOptions.rowModelType == 'serverSide') {
|
|
336
339
|
grid.selectOptions.serverFunc = grid.selectOptions.serverFunc || thisArg.web_search.bind(thisArg);
|
|
@@ -341,6 +344,7 @@ export const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
341
344
|
grid.uniqueField = uniqueField;
|
|
342
345
|
grid.selectDataCb = selectDataCb;
|
|
343
346
|
grid.selectOptions.scrollHeight = '300px';
|
|
347
|
+
grid.selectOptions.searchPrm = selectContent.searchPrm;
|
|
344
348
|
gridOptionsHooker(grid.selectOptions, selectContent);
|
|
345
349
|
});
|
|
346
350
|
grid.searchPrm = { ...thisArg.searchPrm };
|
|
@@ -386,4 +390,4 @@ export const clearLocal = () => {
|
|
|
386
390
|
}
|
|
387
391
|
window.sessionStorage.clear();
|
|
388
392
|
};
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NoYXJlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqQyxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN6QyxHQUFHO0tBQ0QsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXO0tBQzlCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXO0tBQy9DLFdBQVcsRUFBRSxDQUFDLE9BQU87S0FDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7S0FDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENB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QUFDLGdCQUFnQixDQUFDLENBQUE7SUFDakUsQ0FBQztJQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUE7QUFDOUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHBpcGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XHJcbmltcG9ydCB7IGZvcm1UeXBlVG9Qcm9wcyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xyXG5pbXBvcnQgTlAgZnJvbSAnbnVtYmVyLXByZWNpc2lvbidcclxuZXhwb3J0IGxldCB0b1Bhc2NhbENhc2UgPSAoc3RyOiBzdHJpbmcpID0+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+IHtcclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ2J0bkhpZGRlbicpICYmdHlwZW9mIHYuYnRuSGlkZGVuICE9ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRkZWxldGUgdi5idG5IaWRkZW5cclxuXHRcdH1cclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ2J0bkRpc2FibGVkJykgJiZ0eXBlb2Ygdi5idG5EaXNhYmxlZCAhPSAnZnVuY3Rpb24nKXtcclxuXHRcdFx0ZGVsZXRlIHYuYnRuRGlzYWJsZWRcclxuXHRcdH1cclxuXHRcdGlmKHYuaGFzT3duUHJvcGVydHkoJ29uQ2xpY2snKSAmJnR5cGVvZiB2Lm9uQ2xpY2sgIT0gJ2Z1bmN0aW9uJyl7XHJcblx0XHRcdGRlbGV0ZSB2Lm9uQ2xpY2tcclxuXHRcdH1cclxuXHR9KVxyXG5cdHJldHVybiBhY3Q7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBmb3JtcGFnZSDpgJrnlKhjb250ZW505Ye95pWw6L2s56e7XHJcbiAqIEBwYXJhbSBjb250ZW50IFxyXG4gKiBAcGFyYW0gdGhpc0FyZ1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNoYW5nZUNvbnRlbnQgPSAoY29udGVudDogYW55LHRoaXNBcmc6YW55KSAgPT57XHJcblx0Ly8gQHRzLWlnbm9yZVxyXG5cdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHRjb250ZW50ID0gcGFyc2VGdW5jdGlvbnMoY29udGVudCx0aGlzQXJnKTtcclxuXHRsZXQgeyBncmlkTGlzdCwgaHJlZkJ0bkxpc3QsIGdldFBybSwgZ3JvdXBzLCBzdGF0dXNLZXksIHN0YXR1cywgc3RhdHVzU3RlcHMsc3RhdHVzQ29uZiA9IG51bGwgfSA9IGNvbnRlbnQ7XHJcblx0aWYgKHN0YXR1c0tleSkge1xyXG5cdFx0dGhpc0FyZy5zdGF0dXNLZXkgPSBzdGF0dXNLZXk7XHJcblx0XHRzdGF0dXNTdGVwcy5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xyXG5cdFx0XHRpZihpc0kxOG4gJiYgKCFpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykgfHwgaXRlbS5pMThuS2V5ID09ICcnKSl7XHJcblx0XHRcdFx0aXRlbS5pMThuS2V5ID0gYHRhYmxlcy4ke2dldFBybS5tb2RlbE5hbWV9LiR7c3RhdHVzS2V5fSR7aXRlbS52YWx1ZX1gXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0dGhpc0FyZy5zdGVwcyA9IHN0YXR1c1N0ZXBzXHJcblx0XHRzdGF0dXNDb25mICYmICh0aGlzQXJnLnN0YXR1c0NvbmYgPSBzdGF0dXNDb25mKVxyXG5cdH1cclxuXHJcblx0dGhpc0FyZy5hY3Rpb25zID0gY29udmVydEFjdChjb250ZW50LmFjdGlvbnMpXHJcblx0Y29udGVudC5mb3JtRGlzYWJsZWQgJiYgKHRoaXNBcmcuZm9ybURpc2FibGVkID0gY29udGVudC5mb3JtRGlzYWJsZWQpO1xyXG5cdHRoaXNBcmcuZ2V0UHJtID0gZ2V0UHJtO1xyXG5cdHRoaXNBcmcuZ2V0UHJtLm9yZ0ZpZWxkID0gY29udGVudC5vcmdGaWVsZCB8fCAnJztcclxuXHR0aGlzQXJnLmdyaWRzID0gW107XHJcblx0bGV0IGZpdGVyUHJlbG9hZHM6YW55W10gPSBbXVxyXG5cclxuXHRjb252ZXJ0Rm9ybSh0aGlzQXJnLGdyb3Vwcyxjb250ZW50LnNvdXJjZURhdGEpXHJcblx0Y29udmVydEdyaWQodGhpc0FyZyxncmlkTGlzdCxmaXRlclByZWxvYWRzKVxyXG5cdFxyXG5cdHRoaXNBcmcuZm9ybURldGFpbCA9IGNvbnRlbnQuZm9ybURldGFpbFxyXG5cdHRoaXNBcmcuc2F2ZUZ1bmMgPSBjb250ZW50LnNhdmVGdW5jXHJcblx0dGhpc0FyZy5pc0xvZyA9IGNvbnRlbnQuc291cmNlRGF0YS5tb2RlbC5sb2c7XHJcblx0dGhpc0FyZy5nZXRQcm1bJ2dldExvZyddID0gY29udGVudC5zb3VyY2VEYXRhLm1vZGVsLmxvZztcclxuXHR0aGlzQXJnLmdldFBybVsnZml0ZXJQcmVsb2FkcyddID0gZml0ZXJQcmVsb2Fkc1xyXG5cdHRoaXNBcmcuaHJlZkJ0bkxpc3QgPSBocmVmQnRuTGlzdDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNhbGNSb3dTcGFuID0gKHBhcmFtczogYW55LCBmaWVsZD86IHN0cmluZykgPT4ge1xyXG5cdGZpZWxkID0gZmllbGQgfHwgcGFyYW1zLmNvbERlZi5maWVsZDtcclxuXHRjb25zdCBjdXJyZW50VmFsdWUgPSBwYXJhbXMuZGF0YVtmaWVsZCFdO1xyXG5cdGNvbnN0IGN1cnJlbnRSb3dJbmRleCA9IHBhcmFtcy5ub2RlLnJvd0luZGV4O1xyXG5cclxuXHRsZXQgcm93U3BhbiA9IDE7XHJcblxyXG5cdGZvciAobGV0IGkgPSBjdXJyZW50Um93SW5kZXggKyAxOyBpIDwgcGFyYW1zLmFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpOyBpKyspIHtcclxuXHRcdGNvbnN0IG5vZGUgPSBwYXJhbXMuYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaSk7XHJcblx0XHRpZiAobm9kZS5kYXRhW2ZpZWxkIV0gPT09IGN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHRyb3dTcGFuKys7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlmIChjdXJyZW50Um93SW5kZXggPiAwICYmIHBhcmFtcy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChjdXJyZW50Um93SW5kZXggLSAxKS5kYXRhW2ZpZWxkIV0gPT09IGN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0cmV0dXJuIDE7XHJcblx0fVxyXG5cdHJldHVybiByb3dTcGFuO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydENvbCA9IChvcHRpb25zOmFueSxjb2w6IGFueVtdLCBhdXRoTGV2ZWw6bnVtYmVyLG1vZGVsTmFtZT86IHN0cmluZyxkcmFnU29ydD86c3RyaW5nLCkgPT4ge1xyXG5cdC8vIEB0cy1pZ25vcmVcclxuXHRjb25zdCBpc0kxOG4gPSB3aW5kb3cuYXBwSXNJMThuXHJcblx0Ly8gY29uc29sZS5sb2coJ2lzSTE4bi0tLS0tJyxpc0kxOG4pXHJcblx0Y29sLmZvckVhY2goKGl0ZW06IGFueSxpbmRleDpudW1iZXIpID0+IHtcclxuXHRcdGl0ZW0uaGlkZSA9IGl0ZW0uaGlkZUNvbDtcclxuXHRcdGlmIChhdXRoTGV2ZWwgPCAzKSB7XHJcblx0XHRcdGl0ZW0uZWRpdGFibGUgPSBmYWxzZTtcclxuXHRcdH1cclxuXHRcdGlmKGRyYWdTb3J0ICYmIGluZGV4ID09PTApe1xyXG5cdFx0XHRpdGVtLnJvd0RyYWcgPSB0cnVlXHJcblx0XHR9XHJcblx0XHRpZihpc0kxOG4gJiYgKCFpdGVtLmhhc093blByb3BlcnR5KCdpMThuS2V5JykgfHwgaXRlbS5pMThuS2V5ID09ICcnKSl7XHJcblx0XHRcdGl0ZW0uaTE4bktleSA9IGB0YWJsZXMuJHttb2RlbE5hbWV9LiR7aXRlbS5maWVsZH1gXHJcblx0XHR9XHJcblx0XHRpZihpdGVtLmhhc093blByb3BlcnR5KCd0ZXh0V3JhcCcpICYmIGl0ZW0udGV4dFdyYXApIHtcclxuXHRcdFx0aXRlbS5hdXRvSGVpZ2h0ID0gdHJ1ZVxyXG5cdFx0XHRpdGVtLmNlbGxDbGFzcyA9ICdjZWxsLXdyYXAtdGV4dCdcclxuXHRcdH1cclxuXHRcdGlmKGl0ZW0ucm93U3BhbkNvbmYpe1xyXG5cdFx0XHRsZXQgcm93U3BhbiA9IHtcclxuXHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyOiAncm93U3BhblJlbmRlcmVyJyxcclxuXHRcdFx0XHRjZWxsUmVuZGVyZXJQYXJhbXM6IHtcclxuXHRcdFx0XHRcdHJvd1NwYW46IChwYXJhbXM6IGFueSkgPT4gY2FsY1Jvd1NwYW4ocGFyYW1zKSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0T2JqZWN0LmFzc2lnbihpdGVtLHJvd1NwYW4pXHJcblx0XHRcdG9wdGlvbnMuc3VwcHJlc3NSb3dUcmFuc2Zvcm0gPSB0cnVlXHJcblx0XHRcdG9wdGlvbnMucm93Q2xhc3MgPSAncm93U3BhbidcclxuXHRcdH1cclxuXHRcdC8vIGlmKGl0ZW0uZWRpdGFibGUpe1xyXG5cdFx0Ly8gXHRpdGVtLmhlYWRlckNsYXNzID0gaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaGVhZGVyQ2xhc3MnKSBcclxuXHRcdC8vIFx0XHQ/IGAke2l0ZW0uaGVhZGVyQ2xhc3N9IGVkaXRhYmxlLWNvbHVtbi1oZWFkZXJgIFxyXG5cdFx0Ly8gXHRcdDogJ2VkaXRhYmxlLWNvbHVtbi1oZWFkZXInXHJcblx0XHQvLyB9XHJcblx0fSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBncmlkT3B0aW9uc0hvb2tlciA9IChncmlkT3B0aW9uczogYW55LCBzZWxlY3RDb250ZW50OiBhbnkpID0+IHtcclxuXHRncmlkT3B0aW9ucz8uY29sdW1uRGVmcz8uZm9yRWFjaCgoY29sOiBhbnkpID0+IHtcclxuXHRcdGlmIChjb2wuaGlkZUNvbCkge1xyXG5cdFx0XHRjb2wuaGlkZSA9IGNvbC5oaWRlQ29sO1xyXG5cdFx0XHRkZWxldGUgY29sLmhpZGVDb2w7XHJcblx0XHR9XHJcblx0XHQvLyBAdHMtaWdub3JlXHJcblx0XHRjb25zdCBpc0kxOG4gPSB3aW5kb3cuYXBwSXNJMThuXHJcblx0XHRpZiggaXNJMThuICYmICghY29sLmhhc093blByb3BlcnR5KCdpMThuS2V5JykgfHwgY29sLmkxOG5LZXkgPT0gJycpKXtcclxuXHRcdFx0XHRjb2wuaTE4bktleSA9IGB0YWJsZXMuJHtncmlkT3B0aW9ucy5tb2RlbE5hbWV9LiR7Y29sLmZpZWxkfWBcclxuXHRcdFx0fVxyXG5cdFx0aWYoY29sLmhhc093blByb3BlcnR5KCd0ZXh0V3JhcCcpICYmIGNvbC50ZXh0V3JhcCkge1xyXG5cdFx0XHRjb2wuYXV0b0hlaWdodCA9IHRydWVcclxuXHRcdFx0Y29sLmNlbGxDbGFzcyA9ICdjZWxsLXdyYXAtdGV4dCdcclxuXHRcdH1cclxuXHRcdGlmKGNvbC5yb3dTcGFuQ29uZil7XHJcblx0XHRcdGxldCByb3dTcGFuID0ge1xyXG5cdFx0XHRcdHJvd1NwYW46IChwYXJhbXM6IGFueSkgPT4gY2FsY1Jvd1NwYW4ocGFyYW1zKSxcclxuXHRcdFx0XHRjZWxsUmVuZGVyZXI6ICdyb3dTcGFuUmVuZGVyZXInLFxyXG5cdFx0XHRcdGNlbGxSZW5kZXJlclBhcmFtczoge1xyXG5cdFx0XHRcdFx0cm93U3BhbjogKHBhcmFtczogYW55KSA9PiBjYWxjUm93U3BhbihwYXJhbXMpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRPYmplY3QuYXNzaWduKGNvbCxyb3dTcGFuKVxyXG5cdFx0XHRncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd1RyYW5zZm9ybSA9IHRydWVcclxuXHRcdFx0Z3JpZE9wdGlvbnMucm93Q2xhc3MgPSAncm93U3BhbidcclxuXHRcdH1cclxuXHR9KTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRHcmlkID0gKHRoaXNBcmc6YW55LGdyaWRMaXN0OmFueSxmaXRlclByZWxvYWRzOmFueSkgPT4ge1xyXG5cdGdyaWRMaXN0LmZvckVhY2goYXN5bmMgKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0IWl0ZW0udHlwZSAmJiAoaXRlbS50eXBlID0gJ2dyaWQnKVxyXG5cdFx0bGV0IGdyaWQ6YW55ID0ge3R5cGU6aXRlbS50eXBlfVxyXG5cdFx0aWYoaXRlbS5maXRlclByZWxvYWRzIGluc3RhbmNlb2YgQXJyYXkpe1xyXG5cdFx0XHRmaXRlclByZWxvYWRzID0gWy4uLmZpdGVyUHJlbG9hZHMsIC4uLml0ZW0uZml0ZXJQcmVsb2Fkc11cclxuXHRcdH1cclxuXHRcdGlmKGl0ZW0udHlwZSA9PSAnZ3JpZCcpe1xyXG5cdFx0XHRsZXQge1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zOiB7IGNvbHVtbkRlZnMsIC4uLnJlc3RHcmlkT3B0aW9ucyB9LFxyXG5cdFx0XHRcdHN1YlRhYmxlU291cmNlLFxyXG5cdFx0XHRcdHN1YkRhdGFLZXksXHJcblx0XHRcdFx0dGl0bGUsXHJcblx0XHRcdFx0c2VsZWN0RGF0YUNiLFxyXG5cdFx0XHRcdGZrLFxyXG5cdFx0XHRcdG1haW5GaWVsZCxcclxuXHRcdFx0XHR1bmlxdWVGaWVsZCxcclxuXHRcdFx0XHRhZGREYXRhQ2IsXHJcblx0XHRcdFx0c2hvd0RlbGV0ZSA9IHRydWUsXHJcblx0XHRcdFx0c2Nyb2xsSGVpZ2h0LFxyXG5cdFx0XHRcdGRyYWdTb3J0LFxyXG5cdFx0XHRcdHNlbGVjdGlvbk1vZGVcclxuXHRcdFx0fSA9IGl0ZW07XHJcblx0XHRcdGdyaWQgPSB7IHN1YlRhYmxlU291cmNlLCBzdWJEYXRhS2V5LCB0aXRsZSxzaG93RGVsZXRlLCAuLi5ncmlkfTtcclxuXHRcdFx0bGV0IGdyaWRPcHRpb25zID0ge1xyXG5cdFx0XHRcdC4uLnJlc3RHcmlkT3B0aW9ucyxcclxuXHRcdFx0XHRmayxcclxuXHRcdFx0XHRzdWJUYWJsZVNvdXJjZSxcclxuXHRcdFx0XHRzdWJEYXRhS2V5LFxyXG5cdFx0XHRcdG1haW5GaWVsZCxcclxuXHRcdFx0fTtcclxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0XHRpZih3aW5kb3cuYXBwSXNJMThuICYmICghaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpIHx8IGl0ZW0uaTE4bktleSA9PSAnJykpe1xyXG5cdFx0XHRcdGdyaWQuaTE4bktleSA9IGB0YWJsZXMuJHt0aGlzQXJnLmdldFBybS5tb2RlbE5hbWV9LiR7c3ViRGF0YUtleX1gXHJcblx0XHRcdH1cclxuXHRcdFx0aWYoZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09ICdjbGllbnRTaWRlJyl7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dWaXJ0dWFsaXNhdGlvbiA9IHRydWVcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihzY3JvbGxIZWlnaHQpe1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnNjcm9sbEhlaWdodCA9IHNjcm9sbEhlaWdodFxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKGRyYWdTb3J0KXtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5yb3dEcmFnTWFuYWdlZCA9IHRydWVcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5kcmFnU29ydCA9IGRyYWdTb3J0XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoc2VsZWN0aW9uTW9kZSkge1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUgPSBzZWxlY3Rpb25Nb2RlXHJcblx0XHRcdH1cclxuXHRcdFx0Y29udmVydENvbChncmlkT3B0aW9ucyxjb2x1bW5EZWZzLHRoaXNBcmcuYXV0aExldmVsLCBncmlkT3B0aW9ucy5tb2RlbE5hbWUsZHJhZ1NvcnQpO1xyXG5cdFx0XHRncmlkT3B0aW9ucy5jb2x1bW5EZWZzID0gY29sdW1uRGVmcztcclxuXHRcdFx0aWYgKHN1YlRhYmxlU291cmNlID09PSAnc2VsZWN0Jykge1xyXG5cdFx0XHRcdHRoaXNBcmcud2ViZ2V0KHsgY29kZTogaXRlbS5zZWxlY3RNb2RlbENvZGUgfSkuc3Vic2NyaWJlKChyZXM6YW55KSA9PiB7XHJcblx0XHRcdFx0XHRsZXQgc2VsZWN0Q29udGVudCA9IEpTT04ucGFyc2UocmVzLmNvbnRlbnQpO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zID0gcGFyc2VGdW5jdGlvbnMoc2VsZWN0Q29udGVudCwgdGhpc0FyZyk/LmdyaWRPcHRpb25zO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLnJvd01vZGVsVHlwZSA9IGdyaWQuc2VsZWN0T3B0aW9ucy5yb3dNb2RlbFR5cGUgfHwgJ3NlcnZlclNpZGUnO1xyXG5cdFx0XHRcdFx0aWYgKGdyaWQuc2VsZWN0T3B0aW9ucy5yb3dNb2RlbFR5cGUgPT0gJ3NlcnZlclNpZGUnKSB7XHJcblx0XHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5zZXJ2ZXJGdW5jID0gZ3JpZC5zZWxlY3RPcHRpb25zLnNlcnZlckZ1bmMgfHwgdGhpc0FyZy53ZWJfc2VhcmNoLmJpbmQodGhpc0FyZyk7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuY2xpZW50RnVuYyA9IGdyaWQuc2VsZWN0T3B0aW9ucy5jbGllbnRGdW5jIHx8IHRoaXNBcmcud2ViX3NlYXJjaC5iaW5kKHRoaXNBcmcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Z3JpZC51bmlxdWVGaWVsZCA9IHVuaXF1ZUZpZWxkO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3REYXRhQ2IgPSBzZWxlY3REYXRhQ2I7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuc2Nyb2xsSGVpZ2h0ID0gJzMwMHB4JztcclxuXHRcdFx0XHRcdGdyaWRPcHRpb25zSG9va2VyKGdyaWQuc2VsZWN0T3B0aW9ucywgc2VsZWN0Q29udGVudCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Z3JpZC5zZWFyY2hQcm0gPSB7IC4uLnRoaXNBcmcuc2VhcmNoUHJtIH07XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0YWRkRGF0YUNiICYmIChncmlkT3B0aW9ucy5hZGREYXRhQ2IgPSBhZGREYXRhQ2IpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGdyaWQuZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGl0ZW0uaW50ZXJhY3RpdmVMYWJlbCA9IHRydWVcclxuXHRcdFx0Z3JpZCA9IHtcclxuXHRcdFx0XHQuLi5pdGVtXHJcblx0XHRcdH1cclxuXHRcdFx0Z3JpZC5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSlcclxuXHRcdH1cclxuXHRcdHRoaXNBcmcuZ3JpZHMucHVzaChncmlkKTtcclxuXHR9KTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRGb3JtID0gKHRoaXNBcmc6YW55LCBncm91cEFycjphbnksc291cmNlRGF0YTphbnkpID0+IHtcclxuXHRncm91cEFyci5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuXHRcdGlmICh0aGlzQXJnLmF1dGhMZXZlbCA8IDMpIHtcclxuXHRcdFx0aXRlbVtmb3JtVHlwZVRvUHJvcHNbaXRlbS50eXBlXV0uZGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdH0pO1xyXG5cdHRoaXNBcmcuZm9ybU9wdGlvbnMgPSB7XHJcblx0XHRmaWVsZHM6IFtcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGdyb3VwQ2xhc3M6ICdmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCcsXHJcblx0XHRcdFx0Z3JvdXA6IGdyb3VwQXJyLFxyXG5cdFx0XHR9LFxyXG5cdFx0XSxcclxuXHRcdGZvcm06IG5ldyBGb3JtR3JvdXAoe30pLFxyXG5cdFx0bWFpbkZpZWxkOiBzb3VyY2VEYXRhLm1vZGVsLm1haW5GaWVsZHMsXHJcblx0XHRtb2RlbE5hbWU6IHNvdXJjZURhdGEubW9kZWwubW9kZWxOYW1lXHJcblx0fTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNsZWFyTG9jYWwgPSAoKSA9PiB7XHJcblx0bGV0IHRoZW1lQ29uZmlnU3RhdGUgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RoZW1lQ29uZmlnU3RhdGUnKVxyXG5cdHdpbmRvdy5sb2NhbFN0b3JhZ2UuY2xlYXIoKVxyXG5cdGlmKHRoZW1lQ29uZmlnU3RhdGUpe1xyXG5cdFx0d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZUNvbmZpZ1N0YXRlJyx0aGVtZUNvbmZpZ1N0YXRlKVxyXG5cdH1cclxuXHR3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKVxyXG59Il19
|
|
393
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NoYXJlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqQyxNQUFNLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUN6QyxHQUFHO0tBQ0QsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXO0tBQzlCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXO0tBQy9DLFdBQVcsRUFBRSxDQUFDLE9BQU87S0FDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7S0FDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO0lBQ2xFLE9BQU8sR0FBRyxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDaEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtJQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNmLE9BQU87UUFDTixJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ1YsS0FBSyxFQUFFLENBQUM7WUFDUixPQUFPLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ1YsS0FBSyxFQUFFLENBQUM7WUFDUixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBUSxFQUFFLEtBQVUsRUFBTyxFQUFFO0lBQzNELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsZUFBZTtRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3Qiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDO2dCQUNKLE1BQU0sT0FBTyxHQUFHO29CQUNmLFVBQVU7b0JBQ1YsRUFBRTtvQkFDRixXQUFXO29CQUNYLElBQUk7b0JBQ0osT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTO29CQUN0QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUN0QyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUNwQyxFQUFFO2lCQUNGLENBQUM7Z0JBRUYscUJBQXFCO2dCQUNyQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsT0FBTyxJQUFJLFFBQVEsQ0FDbEIsU0FBUyxFQUNUOztpQkFFVyxDQUFDOztPQUVYLENBQ0QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7Z0JBRUQsY0FBYztnQkFDZCxPQUFPLElBQUksUUFBUSxDQUNsQixTQUFTLEVBQ1Q7O2lCQUVZLENBQUM7O01BRVosQ0FDRCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLEdBQUcsQ0FBQztZQUNaLENBQUM7UUFDRixDQUFDO1FBQ0QsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNGLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNaLENBQUMsQ0FBQztBQUVGLDJCQUEyQjtBQUMzQixNQUFNLDBCQUEwQixHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUU7SUFDM0QsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGLG9DQUFvQztBQUNwQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRTtJQUN2RCwyQkFBMkI7SUFDM0IsSUFBSSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO1FBQ3pDLGVBQWUsRUFBRTtZQUNoQixNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU07WUFDOUIsV0FBVztZQUNYLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7U0FDeEM7S0FDRCxDQUFDLENBQUM7SUFDSCxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFFRixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFVLEVBQUU7SUFDM0QsVUFBVTtJQUNWLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQix1QkFBdUI7SUFDdkIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRTtJQUMxQyxJQUFJLENBQUM7UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWixrREFBa0Q7UUFDbEQsZ0JBQWdCO1FBQ2hCLG1EQUFtRDtRQUNuRCxJQUFJO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0YsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQVEsRUFBRSxJQUFjLEVBQUUsRUFBRTtJQUM5RCxPQUFPO0lBQ1AsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQzVDLHFCQUFxQjtRQUNyQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNoQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNSLENBQUMsQ0FBQztBQUNGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFPLEVBQUUsRUFBRTtJQUNyQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7UUFDckIsSUFBRyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFHLE9BQU8sQ0FBQyxDQUFDLFNBQVMsSUFBSSxVQUFVLEVBQUMsQ0FBQztZQUNwRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDbkIsQ0FBQztRQUNELElBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBRyxPQUFPLENBQUMsQ0FBQyxXQUFXLElBQUksVUFBVSxFQUFDLENBQUM7WUFDeEUsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFBO1FBQ3JCLENBQUM7UUFDRCxJQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUcsT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsRUFBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQTtRQUNqQixDQUFDO0lBQ0YsQ0FBQyxDQUFDLENBQUE7SUFDRixPQUFPLEdBQUcsQ0FBQztBQUNaLENBQUMsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFZLEVBQUMsT0FBVyxFQUFHLEVBQUU7SUFDMUQsYUFBYTtJQUNiLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUE7SUFDL0IsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxVQUFVLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM5QixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7WUFDaEMsSUFBRyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsTUFBTSxDQUFDLFNBQVMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ3RFLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFBO1FBQzNCLFVBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3QyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEUsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDakQsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDbkIsSUFBSSxhQUFhLEdBQVMsRUFBRSxDQUFBO0lBRTVCLFdBQVcsQ0FBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM5QyxXQUFXLENBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxhQUFhLENBQUMsQ0FBQTtJQUUzQyxPQUFPLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUE7SUFDdkMsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO0lBQ25DLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQzdDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3hELE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFBO0lBQy9DLE9BQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0FBQ25DLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQVcsRUFBRSxLQUFjLEVBQUUsRUFBRTtJQUMxRCxLQUFLLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFFN0MsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBRWhCLEtBQUssSUFBSSxDQUFDLEdBQUcsZUFBZSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUM7UUFDWCxDQUFDO2FBQU0sQ0FBQztZQUNQLE1BQU07UUFDUCxDQUFDO0lBQ0YsQ0FBQztJQUVELElBQUksZUFBZSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDakgsT0FBTyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBVyxFQUFDLEdBQVUsRUFBRSxTQUFnQixFQUFDLFNBQWtCLEVBQUMsUUFBZ0IsRUFBRyxFQUFFO0lBQzNHLGFBQWE7SUFDYixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFBO0lBQy9CLG9DQUFvQztJQUNwQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFDLEtBQVksRUFBRSxFQUFFO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBRyxRQUFRLElBQUksS0FBSyxLQUFJLENBQUMsRUFBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLENBQUM7UUFDRCxJQUFHLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDbkQsQ0FBQztRQUNELElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtRQUNsQyxDQUFDO1FBQ0QsSUFBRyxJQUFJLENBQUMsV0FBVyxFQUFDLENBQUM7WUFDcEIsSUFBSSxPQUFPLEdBQUc7Z0JBQ2IsT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUM3QyxZQUFZLEVBQUUsaUJBQWlCO2dCQUMvQixrQkFBa0IsRUFBRTtvQkFDbkIsT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2lCQUM3QzthQUNELENBQUE7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxPQUFPLENBQUMsQ0FBQTtZQUMzQixPQUFPLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFBO1lBQ25DLE9BQU8sQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFBO1FBQzdCLENBQUM7UUFDRCxxQkFBcUI7UUFDckIsMERBQTBEO1FBQzFELG9EQUFvRDtRQUNwRCwrQkFBK0I7UUFDL0IsSUFBSTtJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxXQUFnQixFQUFFLGFBQWtCLEVBQUUsRUFBRTtJQUN6RSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1FBQzdDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDcEIsQ0FBQztRQUNELGFBQWE7UUFDYixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFBO1FBQy9CLElBQUksTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNuRSxHQUFHLENBQUMsT0FBTyxHQUFHLFVBQVUsV0FBVyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDN0QsQ0FBQztRQUNGLElBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkQsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDckIsR0FBRyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtRQUNqQyxDQUFDO1FBQ0QsSUFBRyxHQUFHLENBQUMsV0FBVyxFQUFDLENBQUM7WUFDbkIsSUFBSSxPQUFPLEdBQUc7Z0JBQ2IsT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUM3QyxZQUFZLEVBQUUsaUJBQWlCO2dCQUMvQixrQkFBa0IsRUFBRTtvQkFDbkIsT0FBTyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2lCQUM3QzthQUNELENBQUE7WUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTtZQUMxQixXQUFXLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFBO1lBQ3ZDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFBO1FBQ2pDLENBQUM7SUFDRixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQVcsRUFBQyxRQUFZLEVBQUMsYUFBaUIsRUFBRSxFQUFFO0lBQ3pFLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO1FBQ3BDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUE7UUFDbEMsSUFBSSxJQUFJLEdBQU8sRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFBO1FBQy9CLElBQUcsSUFBSSxDQUFDLGFBQWEsWUFBWSxLQUFLLEVBQUMsQ0FBQztZQUN2QyxhQUFhLEdBQUcsQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxRCxDQUFDO1FBQ0QsSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sRUFBQyxDQUFDO1lBQ3ZCLElBQUksRUFDSCxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxlQUFlLEVBQUUsRUFDL0MsY0FBYyxFQUNkLFVBQVUsRUFDVixLQUFLLEVBQ0wsWUFBWSxFQUNaLEVBQUUsRUFDRixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEdBQUcsSUFBSSxFQUNqQixZQUFZLEVBQ1osUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEVBQ2YsR0FBRyxJQUFJLENBQUM7WUFDVCxJQUFJLEdBQUcsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLEVBQUMsQ0FBQztZQUNoRSxJQUFJLFdBQVcsR0FBRztnQkFDakIsR0FBRyxlQUFlO2dCQUNsQixFQUFFO2dCQUNGLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixTQUFTO2FBQ1QsQ0FBQztZQUNGLGFBQWE7WUFDYixJQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksVUFBVSxFQUFFLENBQUE7WUFDbEUsQ0FBQztZQUNELElBQUcsV0FBVyxDQUFDLFlBQVksSUFBSSxZQUFZLEVBQUMsQ0FBQztnQkFDNUMsV0FBVyxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQTtZQUM3QyxDQUFDO1lBQ0QsSUFBRyxZQUFZLEVBQUMsQ0FBQztnQkFDaEIsV0FBVyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7WUFDeEMsQ0FBQztZQUNELElBQUcsUUFBUSxFQUFDLENBQUM7Z0JBQ1osV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7Z0JBQ2pDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1lBQ2hDLENBQUM7WUFDRCxJQUFHLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixXQUFXLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtZQUMxQyxDQUFDO1lBQ0QsSUFBRyxlQUFlLEVBQUMsQ0FBQztnQkFDbkIsV0FBVyxDQUFDLGVBQWUsR0FBRSxlQUFlLENBQUE7WUFDN0MsQ0FBQztZQUNELFVBQVUsQ0FBQyxXQUFXLEVBQUMsVUFBVSxFQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixXQUFXLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUNwQyxJQUFJLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFDcEUsSUFBSSxhQUFhLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsRUFBRSxXQUFXLENBQUM7b0JBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQztvQkFDbEYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksSUFBSSxZQUFZLEVBQUUsQ0FBQzt3QkFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ25HLENBQUM7eUJBQU0sQ0FBQzt3QkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkcsQ0FBQztvQkFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztvQkFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQTtvQkFDdEQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNDLENBQUM7aUJBQU0sQ0FBQztnQkFDUCxTQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUE7WUFDNUIsSUFBSSxHQUFHO2dCQUNOLEdBQUcsSUFBSTthQUNQLENBQUE7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE9BQVcsRUFBRSxRQUFZLEVBQUMsVUFBYyxFQUFFLEVBQUU7SUFDdkUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDbEQsQ0FBQztJQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLFdBQVcsR0FBRztRQUNyQixNQUFNLEVBQUU7WUFDUDtnQkFDQyxVQUFVLEVBQUUseUJBQXlCO2dCQUNyQyxLQUFLLEVBQUUsUUFBUTthQUNmO1NBQ0Q7UUFDRCxJQUFJLEVBQUUsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDdEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUztLQUNyQyxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUM5QixJQUFJLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDdEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQixJQUFHLGdCQUFnQixFQUFDLENBQUM7UUFDcEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtBQUM5QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgcGlwZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcclxuaW1wb3J0IHsgZm9ybVR5cGVUb1Byb3BzIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XHJcbmltcG9ydCBOUCBmcm9tICdudW1iZXItcHJlY2lzaW9uJ1xyXG5leHBvcnQgbGV0IHRvUGFzY2FsQ2FzZSA9IChzdHI6IHN0cmluZykgPT5cclxuXHRzdHJcclxuXHRcdC5yZXBsYWNlKC9fL2csICcgJykgLy8g5LiL5YiS57q/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+IDAgJiYgcGFyYW1zLmFwaS5nZXREaXNwbGF5ZWRSb3dBdEluZGV4KGN1cnJlbnRSb3dJbmRleCAtIDEpLmRhdGFbZmllbGQhXSA9PT0gY3VycmVudFZhbHVlKSB7XHJcblx0XHRyZXR1cm4gMTtcclxuXHR9XHJcblx0cmV0dXJuIHJvd1NwYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb252ZXJ0Q29sID0gKG9wdGlvbnM6YW55LGNvbDogYW55W10sIGF1dGhMZXZlbDpudW1iZXIsbW9kZWxOYW1lPzogc3RyaW5nLGRyYWdTb3J0PzpzdHJpbmcsKSA9PiB7XHJcblx0Ly8gQHRzLWlnbm9yZVxyXG5cdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHQvLyBjb25zb2xlLmxvZygnaXNJMThuLS0tLS0nLGlzSTE4bilcclxuXHRjb2wuZm9yRWFjaCgoaXRlbTogYW55LGluZGV4Om51bWJlcikgPT4ge1xyXG5cdFx0aXRlbS5oaWRlID0gaXRlbS5oaWRlQ29sO1xyXG5cdFx0aWYgKGF1dGhMZXZlbCA8IDMpIHtcclxuXHRcdFx0aXRlbS5lZGl0YWJsZSA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0aWYoZHJhZ1NvcnQgJiYgaW5kZXggPT09MCl7XHJcblx0XHRcdGl0ZW0ucm93RHJhZyA9IHRydWVcclxuXHRcdH1cclxuXHRcdGlmKGlzSTE4biAmJiAoIWl0ZW0uaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBpdGVtLmkxOG5LZXkgPT0gJycpKXtcclxuXHRcdFx0aXRlbS5pMThuS2V5ID0gYHRhYmxlcy4ke21vZGVsTmFtZX0uJHtpdGVtLmZpZWxkfWBcclxuXHRcdH1cclxuXHRcdGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3RleHRXcmFwJykgJiYgaXRlbS50ZXh0V3JhcCkge1xyXG5cdFx0XHRpdGVtLmF1dG9IZWlnaHQgPSB0cnVlXHJcblx0XHRcdGl0ZW0uY2VsbENsYXNzID0gJ2NlbGwtd3JhcC10ZXh0J1xyXG5cdFx0fVxyXG5cdFx0aWYoaXRlbS5yb3dTcGFuQ29uZil7XHJcblx0XHRcdGxldCByb3dTcGFuID0ge1xyXG5cdFx0XHRcdHJvd1NwYW46IChwYXJhbXM6IGFueSkgPT4gY2FsY1Jvd1NwYW4ocGFyYW1zKSxcclxuXHRcdFx0XHRjZWxsUmVuZGVyZXI6ICdyb3dTcGFuUmVuZGVyZXInLFxyXG5cdFx0XHRcdGNlbGxSZW5kZXJlclBhcmFtczoge1xyXG5cdFx0XHRcdFx0cm93U3BhbjogKHBhcmFtczogYW55KSA9PiBjYWxjUm93U3BhbihwYXJhbXMpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRPYmplY3QuYXNzaWduKGl0ZW0scm93U3BhbilcclxuXHRcdFx0b3B0aW9ucy5zdXBwcmVzc1Jvd1RyYW5zZm9ybSA9IHRydWVcclxuXHRcdFx0b3B0aW9ucy5yb3dDbGFzcyA9ICdyb3dTcGFuJ1xyXG5cdFx0fVxyXG5cdFx0Ly8gaWYoaXRlbS5lZGl0YWJsZSl7XHJcblx0XHQvLyBcdGl0ZW0uaGVhZGVyQ2xhc3MgPSBpdGVtLmhhc093blByb3BlcnR5KCdoZWFkZXJDbGFzcycpIFxyXG5cdFx0Ly8gXHRcdD8gYCR7aXRlbS5oZWFkZXJDbGFzc30gZWRpdGFibGUtY29sdW1uLWhlYWRlcmAgXHJcblx0XHQvLyBcdFx0OiAnZWRpdGFibGUtY29sdW1uLWhlYWRlcidcclxuXHRcdC8vIH1cclxuXHR9KTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGdyaWRPcHRpb25zSG9va2VyID0gKGdyaWRPcHRpb25zOiBhbnksIHNlbGVjdENvbnRlbnQ6IGFueSkgPT4ge1xyXG5cdGdyaWRPcHRpb25zPy5jb2x1bW5EZWZzPy5mb3JFYWNoKChjb2w6IGFueSkgPT4ge1xyXG5cdFx0aWYgKGNvbC5oaWRlQ29sKSB7XHJcblx0XHRcdGNvbC5oaWRlID0gY29sLmhpZGVDb2w7XHJcblx0XHRcdGRlbGV0ZSBjb2wuaGlkZUNvbDtcclxuXHRcdH1cclxuXHRcdC8vIEB0cy1pZ25vcmVcclxuXHRcdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG5cclxuXHRcdGlmKCBpc0kxOG4gJiYgKCFjb2wuaGFzT3duUHJvcGVydHkoJ2kxOG5LZXknKSB8fCBjb2wuaTE4bktleSA9PSAnJykpe1xyXG5cdFx0XHRcdGNvbC5pMThuS2V5ID0gYHRhYmxlcy4ke2dyaWRPcHRpb25zLm1vZGVsTmFtZX0uJHtjb2wuZmllbGR9YFxyXG5cdFx0XHR9XHJcblx0XHRpZihjb2wuaGFzT3duUHJvcGVydHkoJ3RleHRXcmFwJykgJiYgY29sLnRleHRXcmFwKSB7XHJcblx0XHRcdGNvbC5hdXRvSGVpZ2h0ID0gdHJ1ZVxyXG5cdFx0XHRjb2wuY2VsbENsYXNzID0gJ2NlbGwtd3JhcC10ZXh0J1xyXG5cdFx0fVxyXG5cdFx0aWYoY29sLnJvd1NwYW5Db25mKXtcclxuXHRcdFx0bGV0IHJvd1NwYW4gPSB7XHJcblx0XHRcdFx0cm93U3BhbjogKHBhcmFtczogYW55KSA9PiBjYWxjUm93U3BhbihwYXJhbXMpLFxyXG5cdFx0XHRcdGNlbGxSZW5kZXJlcjogJ3Jvd1NwYW5SZW5kZXJlcicsXHJcblx0XHRcdFx0Y2VsbFJlbmRlcmVyUGFyYW1zOiB7XHJcblx0XHRcdFx0XHRyb3dTcGFuOiAocGFyYW1zOiBhbnkpID0+IGNhbGNSb3dTcGFuKHBhcmFtcyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdE9iamVjdC5hc3NpZ24oY29sLHJvd1NwYW4pXHJcblx0XHRcdGdyaWRPcHRpb25zLnN1cHByZXNzUm93VHJhbnNmb3JtID0gdHJ1ZVxyXG5cdFx0XHRncmlkT3B0aW9ucy5yb3dDbGFzcyA9ICdyb3dTcGFuJ1xyXG5cdFx0fVxyXG5cdH0pO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29udmVydEdyaWQgPSAodGhpc0FyZzphbnksZ3JpZExpc3Q6YW55LGZpdGVyUHJlbG9hZHM6YW55KSA9PiB7XHJcblx0Z3JpZExpc3QuZm9yRWFjaChhc3luYyAoaXRlbTogYW55KSA9PiB7XHJcblx0XHQhaXRlbS50eXBlICYmIChpdGVtLnR5cGUgPSAnZ3JpZCcpXHJcblx0XHRsZXQgZ3JpZDphbnkgPSB7dHlwZTppdGVtLnR5cGV9XHJcblx0XHRpZihpdGVtLmZpdGVyUHJlbG9hZHMgaW5zdGFuY2VvZiBBcnJheSl7XHJcblx0XHRcdGZpdGVyUHJlbG9hZHMgPSBbLi4uZml0ZXJQcmVsb2FkcywgLi4uaXRlbS5maXRlclByZWxvYWRzXVxyXG5cdFx0fVxyXG5cdFx0aWYoaXRlbS50eXBlID09ICdncmlkJyl7XHJcblx0XHRcdGxldCB7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnM6IHsgY29sdW1uRGVmcywgLi4ucmVzdEdyaWRPcHRpb25zIH0sXHJcblx0XHRcdFx0c3ViVGFibGVTb3VyY2UsXHJcblx0XHRcdFx0c3ViRGF0YUtleSxcclxuXHRcdFx0XHR0aXRsZSxcclxuXHRcdFx0XHRzZWxlY3REYXRhQ2IsXHJcblx0XHRcdFx0ZmssXHJcblx0XHRcdFx0bWFpbkZpZWxkLFxyXG5cdFx0XHRcdHVuaXF1ZUZpZWxkLFxyXG5cdFx0XHRcdGFkZERhdGFDYixcclxuXHRcdFx0XHRzaG93RGVsZXRlID0gdHJ1ZSxcclxuXHRcdFx0XHRzY3JvbGxIZWlnaHQsXHJcblx0XHRcdFx0ZHJhZ1NvcnQsXHJcblx0XHRcdFx0c2VsZWN0aW9uTW9kZSxcclxuXHRcdFx0XHRpc1Jvd1NlbGVjdGFibGVcclxuXHRcdFx0fSA9IGl0ZW07XHJcblx0XHRcdGdyaWQgPSB7IHN1YlRhYmxlU291cmNlLCBzdWJEYXRhS2V5LCB0aXRsZSxzaG93RGVsZXRlLCAuLi5ncmlkfTtcclxuXHRcdFx0bGV0IGdyaWRPcHRpb25zID0ge1xyXG5cdFx0XHRcdC4uLnJlc3RHcmlkT3B0aW9ucyxcclxuXHRcdFx0XHRmayxcclxuXHRcdFx0XHRzdWJUYWJsZVNvdXJjZSxcclxuXHRcdFx0XHRzdWJEYXRhS2V5LFxyXG5cdFx0XHRcdG1haW5GaWVsZCxcclxuXHRcdFx0fTtcclxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0XHRpZih3aW5kb3cuYXBwSXNJMThuICYmICghaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaTE4bktleScpIHx8IGl0ZW0uaTE4bktleSA9PSAnJykpe1xyXG5cdFx0XHRcdGdyaWQuaTE4bktleSA9IGB0YWJsZXMuJHt0aGlzQXJnLmdldFBybS5tb2RlbE5hbWV9LiR7c3ViRGF0YUtleX1gXHJcblx0XHRcdH1cclxuXHRcdFx0aWYoZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09ICdjbGllbnRTaWRlJyl7XHJcblx0XHRcdFx0Z3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dWaXJ0dWFsaXNhdGlvbiA9IHRydWVcclxuXHRcdFx0fVxyXG5cdFx0XHRpZihzY3JvbGxIZWlnaHQpe1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnNjcm9sbEhlaWdodCA9IHNjcm9sbEhlaWdodFxyXG5cdFx0XHR9XHJcblx0XHRcdGlmKGRyYWdTb3J0KXtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5yb3dEcmFnTWFuYWdlZCA9IHRydWVcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5kcmFnU29ydCA9IGRyYWdTb3J0XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoc2VsZWN0aW9uTW9kZSkge1xyXG5cdFx0XHRcdGdyaWRPcHRpb25zLnNlbGVjdGlvbk1vZGUgPSBzZWxlY3Rpb25Nb2RlXHJcblx0XHRcdH1cclxuXHRcdFx0aWYoaXNSb3dTZWxlY3RhYmxlKXtcclxuXHRcdFx0XHRncmlkT3B0aW9ucy5pc1Jvd1NlbGVjdGFibGUgPWlzUm93U2VsZWN0YWJsZVxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnZlcnRDb2woZ3JpZE9wdGlvbnMsY29sdW1uRGVmcyx0aGlzQXJnLmF1dGhMZXZlbCwgZ3JpZE9wdGlvbnMubW9kZWxOYW1lLGRyYWdTb3J0KTtcclxuXHRcdFx0Z3JpZE9wdGlvbnMuY29sdW1uRGVmcyA9IGNvbHVtbkRlZnM7XHJcblx0XHRcdGlmIChzdWJUYWJsZVNvdXJjZSA9PT0gJ3NlbGVjdCcpIHtcclxuXHRcdFx0XHR0aGlzQXJnLndlYmdldCh7IGNvZGU6IGl0ZW0uc2VsZWN0TW9kZWxDb2RlIH0pLnN1YnNjcmliZSgocmVzOmFueSkgPT4ge1xyXG5cdFx0XHRcdFx0bGV0IHNlbGVjdENvbnRlbnQgPSBwYXJzZUZ1bmN0aW9ucyhKU09OLnBhcnNlKHJlcy5jb250ZW50KSwgdGhpc0FyZyk7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMgPSBzZWxlY3RDb250ZW50Py5ncmlkT3B0aW9ucztcclxuXHRcdFx0XHRcdGdyaWQuc2VsZWN0T3B0aW9ucy5yb3dNb2RlbFR5cGUgPSBncmlkLnNlbGVjdE9wdGlvbnMucm93TW9kZWxUeXBlIHx8ICdzZXJ2ZXJTaWRlJztcclxuXHRcdFx0XHRcdGlmIChncmlkLnNlbGVjdE9wdGlvbnMucm93TW9kZWxUeXBlID09ICdzZXJ2ZXJTaWRlJykge1xyXG5cdFx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuc2VydmVyRnVuYyA9IGdyaWQuc2VsZWN0T3B0aW9ucy5zZXJ2ZXJGdW5jIHx8IHRoaXNBcmcud2ViX3NlYXJjaC5iaW5kKHRoaXNBcmcpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLmNsaWVudEZ1bmMgPSBncmlkLnNlbGVjdE9wdGlvbnMuY2xpZW50RnVuYyB8fCB0aGlzQXJnLndlYl9zZWFyY2guYmluZCh0aGlzQXJnKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGdyaWQudW5pcXVlRmllbGQgPSB1bmlxdWVGaWVsZDtcclxuXHRcdFx0XHRcdGdyaWQuc2VsZWN0RGF0YUNiID0gc2VsZWN0RGF0YUNiO1xyXG5cdFx0XHRcdFx0Z3JpZC5zZWxlY3RPcHRpb25zLnNjcm9sbEhlaWdodCA9ICczMDBweCc7XHJcblx0XHRcdFx0XHRncmlkLnNlbGVjdE9wdGlvbnMuc2VhcmNoUHJtID0gc2VsZWN0Q29udGVudC5zZWFyY2hQcm1cclxuXHRcdFx0XHRcdGdyaWRPcHRpb25zSG9va2VyKGdyaWQuc2VsZWN0T3B0aW9ucywgc2VsZWN0Q29udGVudCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Z3JpZC5zZWFyY2hQcm0gPSB7IC4uLnRoaXNBcmcuc2VhcmNoUHJtIH07XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0YWRkRGF0YUNiICYmIChncmlkT3B0aW9ucy5hZGREYXRhQ2IgPSBhZGREYXRhQ2IpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGdyaWQuZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGl0ZW0uaW50ZXJhY3RpdmVMYWJlbCA9IHRydWVcclxuXHRcdFx0Z3JpZCA9IHtcclxuXHRcdFx0XHQuLi5pdGVtXHJcblx0XHRcdH1cclxuXHRcdFx0Z3JpZC5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSlcclxuXHRcdH1cclxuXHRcdHRoaXNBcmcuZ3JpZHMucHVzaChncmlkKTtcclxuXHR9KTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRGb3JtID0gKHRoaXNBcmc6YW55LCBncm91cEFycjphbnksc291cmNlRGF0YTphbnkpID0+IHtcclxuXHRncm91cEFyci5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuXHRcdGlmICh0aGlzQXJnLmF1dGhMZXZlbCA8IDMpIHtcclxuXHRcdFx0aXRlbVtmb3JtVHlwZVRvUHJvcHNbaXRlbS50eXBlXV0uZGlzYWJsZWQgPSB0cnVlO1xyXG5cdFx0fVxyXG5cdH0pO1xyXG5cdHRoaXNBcmcuZm9ybU9wdGlvbnMgPSB7XHJcblx0XHRmaWVsZHM6IFtcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGdyb3VwQ2xhc3M6ICdmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCcsXHJcblx0XHRcdFx0Z3JvdXA6IGdyb3VwQXJyLFxyXG5cdFx0XHR9LFxyXG5cdFx0XSxcclxuXHRcdGZvcm06IG5ldyBGb3JtR3JvdXAoe30pLFxyXG5cdFx0bWFpbkZpZWxkOiBzb3VyY2VEYXRhLm1vZGVsLm1haW5GaWVsZHMsXHJcblx0XHRtb2RlbE5hbWU6IHNvdXJjZURhdGEubW9kZWwubW9kZWxOYW1lXHJcblx0fTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNsZWFyTG9jYWwgPSAoKSA9PiB7XHJcblx0bGV0IHRoZW1lQ29uZmlnU3RhdGUgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RoZW1lQ29uZmlnU3RhdGUnKVxyXG5cdHdpbmRvdy5sb2NhbFN0b3JhZ2UuY2xlYXIoKVxyXG5cdGlmKHRoZW1lQ29uZmlnU3RhdGUpe1xyXG5cdFx0d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZUNvbmZpZ1N0YXRlJyx0aGVtZUNvbmZpZ1N0YXRlKVxyXG5cdH1cclxuXHR3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKVxyXG59Il19
|
|
@@ -4154,7 +4154,7 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
4154
4154
|
fiterPreloads = [...fiterPreloads, ...item.fiterPreloads];
|
|
4155
4155
|
}
|
|
4156
4156
|
if (item.type == 'grid') {
|
|
4157
|
-
let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode } = item;
|
|
4157
|
+
let { gridOptions: { columnDefs, ...restGridOptions }, subTableSource, subDataKey, title, selectDataCb, fk, mainField, uniqueField, addDataCb, showDelete = true, scrollHeight, dragSort, selectionMode, isRowSelectable } = item;
|
|
4158
4158
|
grid = { subTableSource, subDataKey, title, showDelete, ...grid };
|
|
4159
4159
|
let gridOptions = {
|
|
4160
4160
|
...restGridOptions,
|
|
@@ -4180,12 +4180,15 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
4180
4180
|
if (selectionMode) {
|
|
4181
4181
|
gridOptions.selectionMode = selectionMode;
|
|
4182
4182
|
}
|
|
4183
|
+
if (isRowSelectable) {
|
|
4184
|
+
gridOptions.isRowSelectable = isRowSelectable;
|
|
4185
|
+
}
|
|
4183
4186
|
convertCol(gridOptions, columnDefs, thisArg.authLevel, gridOptions.modelName, dragSort);
|
|
4184
4187
|
gridOptions.columnDefs = columnDefs;
|
|
4185
4188
|
if (subTableSource === 'select') {
|
|
4186
4189
|
thisArg.webget({ code: item.selectModelCode }).subscribe((res) => {
|
|
4187
|
-
let selectContent = JSON.parse(res.content);
|
|
4188
|
-
grid.selectOptions =
|
|
4190
|
+
let selectContent = parseFunctions(JSON.parse(res.content), thisArg);
|
|
4191
|
+
grid.selectOptions = selectContent?.gridOptions;
|
|
4189
4192
|
grid.selectOptions.rowModelType = grid.selectOptions.rowModelType || 'serverSide';
|
|
4190
4193
|
if (grid.selectOptions.rowModelType == 'serverSide') {
|
|
4191
4194
|
grid.selectOptions.serverFunc = grid.selectOptions.serverFunc || thisArg.web_search.bind(thisArg);
|
|
@@ -4196,6 +4199,7 @@ const convertGrid = (thisArg, gridList, fiterPreloads) => {
|
|
|
4196
4199
|
grid.uniqueField = uniqueField;
|
|
4197
4200
|
grid.selectDataCb = selectDataCb;
|
|
4198
4201
|
grid.selectOptions.scrollHeight = '300px';
|
|
4202
|
+
grid.selectOptions.searchPrm = selectContent.searchPrm;
|
|
4199
4203
|
gridOptionsHooker(grid.selectOptions, selectContent);
|
|
4200
4204
|
});
|
|
4201
4205
|
grid.searchPrm = { ...thisArg.searchPrm };
|
|
@@ -4366,6 +4370,9 @@ const _gridUtils = {
|
|
|
4366
4370
|
else if (gridOptions.selectionMode === 'single') {
|
|
4367
4371
|
gridOptions.rowSelection = { mode: 'singleRow' };
|
|
4368
4372
|
}
|
|
4373
|
+
if (gridOptions.isRowSelectable) {
|
|
4374
|
+
gridOptions.rowSelection.isRowSelectable = gridOptions.isRowSelectable;
|
|
4375
|
+
}
|
|
4369
4376
|
return { ...gridOptions };
|
|
4370
4377
|
},
|
|
4371
4378
|
};
|
|
@@ -8456,8 +8463,16 @@ class PageFormComponent extends AmComponent {
|
|
|
8456
8463
|
}
|
|
8457
8464
|
dataSourceShow() {
|
|
8458
8465
|
const grid = this.gridList()[this.indexValue];
|
|
8459
|
-
this.dialogSearchPrm = {
|
|
8466
|
+
this.dialogSearchPrm = {};
|
|
8460
8467
|
this.selectOptions = this.gridList()[this.indexValue]['selectOptions'];
|
|
8468
|
+
if (this.selectOptions.hasOwnProperty('searchPrm')) {
|
|
8469
|
+
this.selectOptions.searchPrm.columnFilters.forEach((v) => {
|
|
8470
|
+
if (typeof v.fiter == 'function') {
|
|
8471
|
+
v.fiter = v.fiter(null, this.getPrm.data);
|
|
8472
|
+
}
|
|
8473
|
+
});
|
|
8474
|
+
this.dialogSearchPrm = this.selectOptions.searchPrm;
|
|
8475
|
+
}
|
|
8461
8476
|
console.log('seletc-----', this.selectOptions);
|
|
8462
8477
|
this.dialogSearchPrm.modelName = this.selectOptions.modelName;
|
|
8463
8478
|
if (grid.uniqueField) {
|