ngx-aur-mat-table 12.2.3 → 12.2.4
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.
- package/bundles/ngx-aur-mat-table.umd.js +17 -1
- package/bundles/ngx-aur-mat-table.umd.js.map +1 -1
- package/esm2015/lib/model/ColumnConfig.js +1 -1
- package/esm2015/lib/ngx-aur-mat-table.component.js +16 -2
- package/fesm2015/ngx-aur-mat-table.js +15 -1
- package/fesm2015/ngx-aur-mat-table.js.map +1 -1
- package/lib/model/ColumnConfig.d.ts +7 -3
- package/lib/ngx-aur-mat-table.component.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9tb2RlbC9Db2x1bW5Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL1RhYmxlUm93XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnPFQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC60L7Qu9C+0L3QvtC6XHJcbiAgICovXHJcbiAgY29sdW1uc0NmZzogQ29sdW1uQ29uZmlnPFQ+W10sXHJcblxyXG4gIC8qKlxyXG4gICAqINCd0LDRgdGC0YDQvtC50LrQsCDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC/0L7RgNGP0LTQutC+0LLQvtCz0L4g0LjQvdC00LXQutGB0LAg0YHRgtGA0L7QutC4INCyINGC0LDQsdC70LjRhtC1XHJcbiAgICovXHJcbiAgaW5kZXhDZmc/OiBJbmRleENvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YHRgtGA0L7QutC4INC/0L7QuNGB0LrQsCDQsiDRgtCw0LHQu9C40YbQtVxyXG4gICAqL1xyXG4gIGZpbHRlckNmZz86IEZpbHRlckNvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQvdC+0L/QvtC6INC00LvRjyDRgdC+0LLQtdGA0YjQtdC90LjRjyDQtNC10LnRgdGC0LLQuNC5INGBINC+0LHRitC60YLQvtC8INCyINGB0YLRgNC+0LrQtVxyXG4gICAqL1xyXG4gIGFjdGlvbkNmZz86IEFjdGlvbkNvbmZpZzxUPixcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGH0LXQutCx0L7QutGB0L7QslxyXG4gICAqL1xyXG4gIHNlbGVjdGlvbkNmZz86IFNlbGVjdGlvbkNvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC/0LDQs9C40L3QsNGG0LjQuCDRgtCw0LHQu9C40YbRi1xyXG4gICAqL1xyXG4gIHBhZ2VhYmxlQ2ZnPzogUGFnaW5hdGlvbkNvbmZpZyxcclxuICBjbGlja0NmZz86IENsaWNrQ29uZmlnLFxyXG4gIHN0aWNreUNmZz86IFN0aWNreUNvbmZpZyxcclxuICB0YWJsZVZpZXc/OiBUYWJsZVZpZXcsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpY2tDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIFNob3cgcG9pbnRlciBvbiBob3ZlcmVkIHJvd1xyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIGhpZ2hsaWdodENsaWNrZWQ/OiBEZWNvclN0eWxlcztcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBmYWxzZVxyXG4gICAqIGZhbHNlINC/0LXRgNCy0L7QtSDQuCDQstGC0L7RgNC+0LUg0L3QsNC20LDRgtC40LUg0LPQtdC90LXRgNC40YDRg9C10YIg0YHQvtCx0YvRgtC40LUg0YEg0Y3RgtC+0Lkg0YHRgtGA0L7QutC+0Lkg0LLRi9C00LXQu9C10L3QuNC1INGB0L4g0YHRgtGA0L7QutC4INC90LUg0YHQvdC40LzQsNC10YLRgdGPXHJcbiAgICpcclxuICAgKiDQtdGB0LvQuCB0cnVlINC/0LXRgNCy0L7QtSDQvdCw0LbQsNGC0LjQtSDQs9C10L3QtdGA0LjRgNGD0LXRgiDRgdC+0LHRi9GC0LjQtSDRgSDRjdGC0L7QuSDRgdGC0YDQvtC60L7QuSwg0LLRgtC+0YDQvtC1INC90LDQttCw0YLQuNC1INCy0LXRgNC90LXRgiB1bmRlZmluZWQsXHJcbiAgICog0L/QtdGA0LLQvtC1INC90LDQttCw0YLQuNC1INCy0YvQtNC10LvRj9C10YIg0YHRgtGA0L7QutGDINCy0YLQvtGA0L7QtSDQvtGC0LzQtdC90Y/QtdGCINCy0YvQtNC10LvQtdC90LjQtVxyXG4gICAqL1xyXG4gIGNhbmNlbGFibGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlY29yU3R5bGVzIHtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIGJvcmRlcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWc8VD4ge1xyXG4gIC8qKiBjb2x1bW4gdGl0bGUgdGV4dCAqL1xyXG4gIG5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIGNvbHVtbiBrZXkgaW4gZGF0YSBzb3VyY2UgKi9cclxuICBrZXk6IHN0cmluZztcclxuXHJcbiAgLyoqIHJldHVybiB2YWx1ZSB0byBzYXZlIGluIE1hdFRhYmxlRGF0YVNvdXJjZSAqL1xyXG4gIHZhbHVlQ29udmVydGVyOiAodmFsdWU6IFQpID0+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9tb2RlbC9Db2x1bW5Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL1RhYmxlUm93XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnPFQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC60L7Qu9C+0L3QvtC6XHJcbiAgICovXHJcbiAgY29sdW1uc0NmZzogQ29sdW1uQ29uZmlnPFQ+W10sXHJcblxyXG4gIC8qKlxyXG4gICAqINCd0LDRgdGC0YDQvtC50LrQsCDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC/0L7RgNGP0LTQutC+0LLQvtCz0L4g0LjQvdC00LXQutGB0LAg0YHRgtGA0L7QutC4INCyINGC0LDQsdC70LjRhtC1XHJcbiAgICovXHJcbiAgaW5kZXhDZmc/OiBJbmRleENvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YHRgtGA0L7QutC4INC/0L7QuNGB0LrQsCDQsiDRgtCw0LHQu9C40YbQtVxyXG4gICAqL1xyXG4gIGZpbHRlckNmZz86IEZpbHRlckNvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQvdC+0L/QvtC6INC00LvRjyDRgdC+0LLQtdGA0YjQtdC90LjRjyDQtNC10LnRgdGC0LLQuNC5INGBINC+0LHRitC60YLQvtC8INCyINGB0YLRgNC+0LrQtVxyXG4gICAqL1xyXG4gIGFjdGlvbkNmZz86IEFjdGlvbkNvbmZpZzxUPixcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGH0LXQutCx0L7QutGB0L7QslxyXG4gICAqL1xyXG4gIHNlbGVjdGlvbkNmZz86IFNlbGVjdGlvbkNvbmZpZyxcclxuXHJcbiAgLyoqXHJcbiAgICog0J3QsNGB0YLRgNC+0LnQutCwINC/0LDQs9C40L3QsNGG0LjQuCDRgtCw0LHQu9C40YbRi1xyXG4gICAqL1xyXG4gIHBhZ2VhYmxlQ2ZnPzogUGFnaW5hdGlvbkNvbmZpZyxcclxuICBjbGlja0NmZz86IENsaWNrQ29uZmlnLFxyXG4gIHN0aWNreUNmZz86IFN0aWNreUNvbmZpZyxcclxuICB0YWJsZVZpZXc/OiBUYWJsZVZpZXcsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpY2tDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIFNob3cgcG9pbnRlciBvbiBob3ZlcmVkIHJvd1xyXG4gICAqL1xyXG4gIHBvaW50ZXI/OiBib29sZWFuO1xyXG4gIGhpZ2hsaWdodENsaWNrZWQ/OiBEZWNvclN0eWxlcztcclxuXHJcbiAgLyoqXHJcbiAgICogZGVmYXVsdCBmYWxzZVxyXG4gICAqIGZhbHNlINC/0LXRgNCy0L7QtSDQuCDQstGC0L7RgNC+0LUg0L3QsNC20LDRgtC40LUg0LPQtdC90LXRgNC40YDRg9C10YIg0YHQvtCx0YvRgtC40LUg0YEg0Y3RgtC+0Lkg0YHRgtGA0L7QutC+0Lkg0LLRi9C00LXQu9C10L3QuNC1INGB0L4g0YHRgtGA0L7QutC4INC90LUg0YHQvdC40LzQsNC10YLRgdGPXHJcbiAgICpcclxuICAgKiDQtdGB0LvQuCB0cnVlINC/0LXRgNCy0L7QtSDQvdCw0LbQsNGC0LjQtSDQs9C10L3QtdGA0LjRgNGD0LXRgiDRgdC+0LHRi9GC0LjQtSDRgSDRjdGC0L7QuSDRgdGC0YDQvtC60L7QuSwg0LLRgtC+0YDQvtC1INC90LDQttCw0YLQuNC1INCy0LXRgNC90LXRgiB1bmRlZmluZWQsXHJcbiAgICog0L/QtdGA0LLQvtC1INC90LDQttCw0YLQuNC1INCy0YvQtNC10LvRj9C10YIg0YHRgtGA0L7QutGDINCy0YLQvtGA0L7QtSDQvtGC0LzQtdC90Y/QtdGCINCy0YvQtNC10LvQtdC90LjQtVxyXG4gICAqL1xyXG4gIGNhbmNlbGFibGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlY29yU3R5bGVzIHtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIGJvcmRlcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWc8VD4ge1xyXG4gIC8qKiBjb2x1bW4gdGl0bGUgdGV4dCAqL1xyXG4gIG5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIGNvbHVtbiBrZXkgaW4gZGF0YSBzb3VyY2UgKi9cclxuICBrZXk6IHN0cmluZztcclxuXHJcbiAgLyoqIHJldHVybiB2YWx1ZSB0byBzYXZlIGluIE1hdFRhYmxlRGF0YVNvdXJjZSAqL1xyXG4gIHZhbHVlQ29udmVydGVyOiAodmFsdWU6IFQpID0+IGFueTtcclxuICBzb3J0PzogU29ydENvbmZpZzxUPjtcclxuICBoZWFkZXJWaWV3PzogQ29sdW1uVmlldzxzdHJpbmc+O1xyXG4gIHZhbHVlVmlldz86IENvbHVtblZpZXc8KHZhbHVlOiBUYWJsZVJvdzxUPikgPT4gc3RyaW5nPjtcclxuICB0b3RhbENvbnZlcnRlcj86ICh2YWx1ZTogVGFibGVSb3c8VD5bXSkgPT4gYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsUm93VmlldyB7XHJcbiAgc3R5bGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvblZpZXc8VD4ge1xyXG4gIC8qKiBpY29uIG5hbWUgKi9cclxuICBuYW1lOiBUO1xyXG5cclxuICAvKiogaWNvbiBjb2xvciBkZWZhdWx0IGJsYWNrICovXHJcbiAgY29sb3I/OiBUO1xyXG5cclxuICAvKiogaWNvbiB0b29sdGlwIGlmIG51bGwgZGlzYWJsZWQgKi9cclxuICB0b29sdGlwPzogVDtcclxuXHJcbiAgcG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnO1xyXG5cclxuICB3cmFwcGVyPzogSWNvbldyYXBwZXI8VD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbldyYXBwZXI8VD4ge1xyXG4gIGNvbG9yOiBUO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlldzxUPiB7XHJcbiAgc3JjOiBUO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGhlaWdodD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0VmlldzxUPiB7XHJcbiAgLyoqIGRlZmF1bHQgdHJ1ZSovXHJcbiAgc2hvdz86IGJvb2xlYW47XHJcbiAgLyoqIHRvb2x0aXAgKi9cclxuICB0b29sdGlwPzogVDtcclxuICBjb2xvcj86IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uVmlldzxUPiB7XHJcblxyXG4gIC8qKiBzZXR0aW5ncyBmb3IgaWNvbiBpbiBjb2x1bW4gKi9cclxuICBpY29uPzogSWNvblZpZXc8VD47XHJcblxyXG4gIGltYWdlPzogSW1hZ2VWaWV3PFQ+XHJcblxyXG4gIHRleHQ/OiBUZXh0VmlldzxUPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTb3J0Q29uZmlnPFQ+IHtcclxuICBlbmFibGU6IHRydWU7XHJcbiAgcG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnO1xyXG5cclxuICAvKipcclxuICAgKiBjb2x1bW4ga2V5XHJcbiAgICovXHJcbiAgY3VzdG9tU29ydD86IChkYXRhOiBUYWJsZVJvdzxUPiwga2V5OiBzdHJpbmcpID0+IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbmRleENvbmZpZyB7XHJcbiAgZW5hYmxlOiBib29sZWFuLFxyXG5cclxuICAvKiog0YHQvNC10YnQtdC90LjQtSDQtNC70Y8g0L/QtdGA0LLQvtCz0L4g0LjQvdC00LXQutGB0LAg0L3QsNC/0YDQuNC80LXRgCAxINGH0YLQvtCx0Ysg0L3Rg9C80LXRgNCw0YbQuNGPINC90LDRh9Cw0LvQsNGB0Ywg0YEgMSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQvtGCINC90YPQu9GPICovXHJcbiAgb2Zmc2V0PzogbnVtYmVyLFxyXG5cclxuICBoZWFkZXJDb2x1bW4/OiBDb2x1bW5WaWV3PHN0cmluZz5cclxuXHJcbiAgLyoqINC90LDQt9Cy0LDQvdC40LUg0LTQu9GPINC60L7Qu9C+0L3QutC4LCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAnJyovXHJcbiAgbmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb25maWcge1xyXG4gIGVuYWJsZTogYm9vbGVhbjtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db25maWc8VD4ge1xyXG4gIGVuYWJsZT86IGJvb2xlYW47XHJcbiAgYWN0aW9uczogQWN0aW9uPCh2YWx1ZTogVCkgPT4gc3RyaW5nPltdO1xyXG4gIHBvc2l0aW9uPzogJ3N0YXJ0JyB8ICdlbmQnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbjxUPiB7XHJcbiAgYWN0aW9uOiBUO1xyXG4gIGljb246IEljb25WaWV3PFQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvbkNvbmZpZyB7XHJcbiAgcG9zaXRpb24/OiAnc3RhcnQnIHwgJ2VuZCc7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIHNob3dTZWxlY3RlZENvdW50PzogYm9vbGVhbjtcclxuICBlbmFibGU6IGJvb2xlYW47XHJcbiAgYWN0aW9ucz86IEFjdGlvbjxzdHJpbmc+W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkNvbmZpZyB7XHJcbiAgZW5hYmxlOiBib29sZWFuO1xyXG4gIHNpemVzPzogbnVtYmVyW107XHJcbiAgc2l6ZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGlja3lDb25maWcge1xyXG4gIGhlYWRlcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVZpZXcge1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICBtaW5IZWlnaHQ/OiBzdHJpbmc7XHJcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHRvdGFsUm93Vmlldz86IFRvdGFsUm93VmlldztcclxufVxyXG4iXX0=
|
|
@@ -53,6 +53,7 @@ export class NgxAurMatTableComponent {
|
|
|
53
53
|
this.indexProvider = new IndexProviderDummy();
|
|
54
54
|
this.paginationProvider = new PaginationProviderDummy();
|
|
55
55
|
this.totalRowProvider = new TotalRowProviderDummy();
|
|
56
|
+
this.customSortFunctions = new Map();
|
|
56
57
|
}
|
|
57
58
|
ngOnChanges(changes) {
|
|
58
59
|
if (changes['tableData'] && this.tableData) {
|
|
@@ -88,11 +89,18 @@ export class NgxAurMatTableComponent {
|
|
|
88
89
|
// we need this, in order to make pagination work with *ngIf
|
|
89
90
|
ngAfterViewInit() {
|
|
90
91
|
this.tableDataSource.paginator = this.matPaginator;
|
|
91
|
-
this.
|
|
92
|
+
this.initSortingDataAccessor();
|
|
92
93
|
this.updateColumnOffsets();
|
|
93
94
|
this.resizeColumnOffsetsObserver = new ResizeObserver(() => this.updateColumnOffsets());
|
|
94
95
|
this.resizeColumnOffsetsObserver.observe(this.table.nativeElement);
|
|
95
96
|
}
|
|
97
|
+
initSortingDataAccessor() {
|
|
98
|
+
this.tableDataSource.sort = this.matSort;
|
|
99
|
+
this.tableDataSource.sortingDataAccessor = (data, key) => {
|
|
100
|
+
const customSortFunction = this.customSortFunctions.get(key);
|
|
101
|
+
return customSortFunction ? customSortFunction(data, key) : data[key];
|
|
102
|
+
};
|
|
103
|
+
}
|
|
96
104
|
updateColumnOffsets() {
|
|
97
105
|
const offsets = Array.from(this.table.nativeElement.querySelectorAll('th'))
|
|
98
106
|
.map(c => c)
|
|
@@ -101,6 +109,7 @@ export class NgxAurMatTableComponent {
|
|
|
101
109
|
}
|
|
102
110
|
prepareTableData() {
|
|
103
111
|
this.initTable();
|
|
112
|
+
this.initCustomSortFunctionsMap();
|
|
104
113
|
this.indexProvider = IndexProvider.create(this.tableConfig)
|
|
105
114
|
.addIndexColumn(this.displayedColumns);
|
|
106
115
|
this.rowActionsProvider = RowActionProvider.create(this.tableConfig)
|
|
@@ -114,6 +123,11 @@ export class NgxAurMatTableComponent {
|
|
|
114
123
|
.setStyle()
|
|
115
124
|
.setTotalRow();
|
|
116
125
|
}
|
|
126
|
+
initCustomSortFunctionsMap() {
|
|
127
|
+
this.tableConfig.columnsCfg
|
|
128
|
+
.filter(c => c.sort && c.sort.enable && c.sort.customSort)
|
|
129
|
+
.forEach(c => this.customSortFunctions.set(c.key, c.sort.customSort));
|
|
130
|
+
}
|
|
117
131
|
initTable() {
|
|
118
132
|
this.tableDataSource = MatTableDataSourceFactory.convert(this.tableData, this.tableConfig.columnsCfg);
|
|
119
133
|
this.tableView = TableViewFactory.toView(this.tableDataSource.data, this.tableConfig);
|
|
@@ -206,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
206
220
|
}], highlight: [{
|
|
207
221
|
type: Input
|
|
208
222
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxPQUFPLEVBQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDeEYsT0FBTyxFQUFjLGlCQUFpQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFB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TTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNO2dCQUlHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFJRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFtQkUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb2x1bW5WaWV3LCBUYWJsZUNvbmZpZ30gZnJvbSAnLi9tb2RlbC9Db2x1bW5Db25maWcnO1xyXG5pbXBvcnQge01hdFNvcnQsIFNvcnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQge01hdFBhZ2luYXRvcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHtTZWxlY3Rpb25Qcm92aWRlciwgU2VsZWN0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSAnLi9wcm92aWRlcnMvU2VsZWN0aW9uUHJvdmlkZXInO1xyXG5pbXBvcnQge0FjdGlvbkV2ZW50LCBSb3dBY3Rpb25Qcm92aWRlciwgUm93QWN0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSAnLi9wcm92aWRlcnMvUm93QWN0aW9uUHJvdmlkZXInO1xyXG5pbXBvcnQge1RhYmxlUm93fSBmcm9tIFwiLi9tb2RlbC9UYWJsZVJvd1wiO1xyXG5pbXBvcnQge1RhYmxlVmlld0ZhY3Rvcnl9IGZyb20gXCIuL21vZGVsL1RhYmxlVmlld0ZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbmRleFByb3ZpZGVyLCBJbmRleFByb3ZpZGVyRHVtbXl9IGZyb20gXCIuL3Byb3ZpZGVycy9JbmRleFByb3ZpZGVyXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvblByb3ZpZGVyLCBQYWdpbmF0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSBcIi4vcHJvdmlkZXJzL1BhZ2luYXRpb25Qcm92aWRlclwiO1xyXG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZUZhY3Rvcnl9IGZyb20gXCIuL2ZhY3Rvcmllcy9NYXRUYWJsZURhdGFTb3VyY2VGYWN0b3J5XCI7XHJcbmltcG9ydCB7RGlzcGxheUNvbHVtbnNGYWN0b3J5fSBmcm9tIFwiLi9mYWN0b3JpZXMvRGlzcGxheUNvbHVtbnNGYWN0b3J5XCI7XHJcbmltcG9ydCB7RW1wdHlWYWx1ZX0gZnJvbSBcIi4vbW9kZWwvRW1wdHlWYWx1ZVwiO1xyXG5pbXBvcnQge1RvdGFsUm93UHJvdmlkZXIsIFRvdGFsUm93UHJvdmlkZXJEdW1teX0gZnJvbSBcIi4vcHJvdmlkZXJzL1RvdGFsUm93UHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGlnaGxpZ2h0Q29udGFpbmVyPFQ+IHtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbk9mZnNldCB7XHJcbiAgbGVmdDogbnVtYmVyLFxyXG4gIHdpZHRoOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdXItbWF0LXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neEF1ck1hdFRhYmxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyB0YWJsZURhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFRhYmxlUm93PFQ+PihbXSk7XHJcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHRhYmxlVmlldzogTWFwPHN0cmluZywgQ29sdW1uVmlldzxzdHJpbmc+PltdID0gW107XHJcblxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkcmVuKCdyb3dMaW5rJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSByb3dzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSB0YWJsZTogRWxlbWVudFJlZjtcclxuXHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBJbnB1dCgpIHRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZzxUPjtcclxuXHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBUW10gPSBbXTtcclxuXHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7c3RhdGljOiBmYWxzZX0pIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHtzdGF0aWM6IHRydWV9KSBtYXRTb3J0OiBNYXRTb3J0O1xyXG5cclxuICBAT3V0cHV0KCkgc29ydDogRXZlbnRFbWl0dGVyPFNvcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvLyBldmVudHMgaWYgZW5hYmxlZCBhY3Rpb25zXHJcbiAgQE91dHB1dCgpIG9uUm93QWN0aW9uOiBFdmVudEVtaXR0ZXI8QWN0aW9uRXZlbnQ8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25FdmVudDxUPj4oKTtcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvLyBldmVudHMgaWYgZW5hYmxlZCBzZWxlY3QgZXZlbnRcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgb25EZXNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWxlY3RlZFJvd3NBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbkV2ZW50PFRbXT4+KCk7XHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4gIEBPdXRwdXQoKSBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cclxuICAvKipcclxuICAgKiByZXR1cm4gZmlsdGVyZWQgcm93c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xyXG5cclxuICBAT3V0cHV0KCkgY29sdW1uT2Zmc2V0cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sdW1uT2Zmc2V0W10+KCk7XHJcblxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBwcml2YXRlIHJlc2l6ZUNvbHVtbk9mZnNldHNPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgPSBFbXB0eVZhbHVlLlJFU0laRV9PQlNFUlZFUjtcclxuXHJcbiAgc2VsZWN0aW9uUHJvdmlkZXI6IFNlbGVjdGlvblByb3ZpZGVyPFQ+ID0gbmV3IFNlbGVjdGlvblByb3ZpZGVyRHVtbXkoKTtcclxuXHJcbiAgcm93QWN0aW9uc1Byb3ZpZGVyOiBSb3dBY3Rpb25Qcm92aWRlcjxUPiA9IG5ldyBSb3dBY3Rpb25Qcm92aWRlckR1bW15PFQ+KCk7XHJcblxyXG4gIGluZGV4UHJvdmlkZXI6IEluZGV4UHJvdmlkZXIgPSBuZXcgSW5kZXhQcm92aWRlckR1bW15KCk7XHJcblxyXG4gIHBhZ2luYXRpb25Qcm92aWRlcjogUGFnaW5hdGlvblByb3ZpZGVyID0gbmV3IFBhZ2luYXRpb25Qcm92aWRlckR1bW15KCk7XHJcblxyXG4gIHRvdGFsUm93UHJvdmlkZXI6IFRvdGFsUm93UHJvdmlkZXI8VD4gPSBuZXcgVG90YWxSb3dQcm92aWRlckR1bW15KCk7XHJcblxyXG4gIGhpZ2hsaWdodGVkOiBUIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvL9C30L3QsNGH0LXQvdC40LUg0L/QtdGA0LXQtNCw0LXRgtGB0Y8g0LIg0LrQvtC90YLQtdC50L3QtdGA0LUg0LjQvdCw0YfQtSBPbkNoYW5nZSDQvdC1INCy0LjQtNC40YIg0LjQt9C80LXQvdC10L3QuNC5INC60L7Qs9C00LAg0L/QtdGA0LXQtNCw0Y7RgtGB0Y8g0L7QtNC40L3QsNC60L7QstGL0LUg0LfQvdCw0YfQtdC90LjQtSDQuCDQv9C+0LTRgdCy0LXRgtC60LAg0YHRgtGA0L7QutC4INC90LUg0L7RgtC60LvRjtGH0LDQtdGC0YHRj1xyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBASW5wdXQoKSBoaWdobGlnaHQ6IEhpZ2hsaWdodENvbnRhaW5lcjxUPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndGFibGVEYXRhJ10gJiYgdGhpcy50YWJsZURhdGEpIHtcclxuICAgICAgdGhpcy5wcmVwYXJlVGFibGVEYXRhKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snaGlnaGxpZ2h0J10gJiYgdGhpcy5oaWdobGlnaHQpIHtcclxuICAgICAgdGhpcy5oYW5kbGVIaWdobGlnaHRDaGFuZ2UodGhpcy5oaWdobGlnaHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVIaWdobGlnaHRDaGFuZ2UoaDogSGlnaGxpZ2h0Q29udGFpbmVyPFQ+KSB7XHJcbiAgICBpZiAodGhpcy5oaWdobGlnaHRlZCA9PT0gaC52YWx1ZSkge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodCA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5oaWdobGlnaHRlZCA9IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGlnaGxpZ2h0ZWQgPSBoLnZhbHVlO1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMudGFibGVEYXRhU291cmNlLmRhdGEuZmluZEluZGV4KHJvdyA9PiByb3cucm93U3JjID09PSBoLnZhbHVlKTtcclxuICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICB0aGlzLnJvd3M/LnRvQXJyYXkoKVtpbmRleF0/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xyXG4gICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXHJcbiAgICAgICAgICBibG9jazogXCJjZW50ZXJcIixcclxuICAgICAgICAgIGlubGluZTogXCJjZW50ZXJcIlxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50YWJsZUNvbmZpZykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbml0IGlucHV0cyBbdGFibGVDb25maWddIGlzIG1hbmRhdG9yeSFcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHdlIG5lZWQgdGhpcywgaW4gb3JkZXIgdG8gbWFrZSBwYWdpbmF0aW9uIHdvcmsgd2l0aCAqbmdJZlxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGVEYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMubWF0UGFnaW5hdG9yO1xyXG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2Uuc29ydCA9IHRoaXMubWF0U29ydDtcclxuICAgIHRoaXMudXBkYXRlQ29sdW1uT2Zmc2V0cygpO1xyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy51cGRhdGVDb2x1bW5PZmZzZXRzKCkpO1xyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRhYmxlLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5PZmZzZXRzKCkge1xyXG4gICAgY29uc3Qgb2Zmc2V0czogQ29sdW1uT2Zmc2V0W10gPSBBcnJheS5mcm9tKHRoaXMudGFibGUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0aCcpKVxyXG4gICAgICAubWFwKGMgPT4gKGMgYXMgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAubWFwKGMgPT4gKHtsZWZ0OiBjLm9mZnNldExlZnQsIHdpZHRoOiBjLm9mZnNldFdpZHRofSkpXHJcbiAgICB0aGlzLmNvbHVtbk9mZnNldHMuZW1pdChvZmZzZXRzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZVRhYmxlRGF0YSgpIHtcclxuICAgIHRoaXMuaW5pdFRhYmxlKCk7XHJcblxyXG4gICAgdGhpcy5pbmRleFByb3ZpZGVyID0gSW5kZXhQcm92aWRlci5jcmVhdGUodGhpcy50YWJsZUNvbmZpZylcclxuICAgICAgLmFkZEluZGV4Q29sdW1uKHRoaXMuZGlzcGxheWVkQ29sdW1ucyk7XHJcblxyXG4gICAgdGhpcy5yb3dBY3Rpb25zUHJvdmlkZXIgPSBSb3dBY3Rpb25Qcm92aWRlci5jcmVhdGUodGhpcy50YWJsZUNvbmZpZylcclxuICAgICAgLmFkZEFjdGlvbkNvbHVtbih0aGlzLmRpc3BsYXllZENvbHVtbnMpXHJcbiAgICAgIC5zZXRWaWV3KHRoaXMudGFibGVEYXRhU291cmNlLmRhdGEpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIgPSBTZWxlY3Rpb25Qcm92aWRlci5jcmVhdGUodGhpcy50YWJsZUNvbmZpZywgdGhpcy50YWJsZURhdGFTb3VyY2UpXHJcbiAgICAgIC5hZGRDaGVja2JveENvbHVtbih0aGlzLmRpc3BsYXllZENvbHVtbnMpXHJcbiAgICAgIC5iaW5kRXZlbnRFbWl0dGVycyh0aGlzLnNlbGVjdGVkLCB0aGlzLm9uU2VsZWN0LCB0aGlzLm9uRGVzZWxlY3QpO1xyXG5cclxuICAgIHRoaXMucGFnaW5hdGlvblByb3ZpZGVyID0gUGFnaW5hdGlvblByb3ZpZGVyLmNyZWF0ZSh0aGlzLnRhYmxlQ29uZmlnKTtcclxuXHJcbiAgICB0aGlzLnRvdGFsUm93UHJvdmlkZXIgPSBUb3RhbFJvd1Byb3ZpZGVyLmNyZWF0ZSh0aGlzLnRhYmxlQ29uZmlnLCB0aGlzLnRhYmxlRGF0YVNvdXJjZSlcclxuICAgICAgLnNldFN0eWxlKClcclxuICAgICAgLnNldFRvdGFsUm93KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRUYWJsZSgpIHtcclxuICAgIHRoaXMudGFibGVEYXRhU291cmNlID0gTWF0VGFibGVEYXRhU291cmNlRmFjdG9yeS5jb252ZXJ0KHRoaXMudGFibGVEYXRhLCB0aGlzLnRhYmxlQ29uZmlnLmNvbHVtbnNDZmcpO1xyXG4gICAgdGhpcy50YWJsZVZpZXcgPSBUYWJsZVZpZXdGYWN0b3J5LnRvVmlldyh0aGlzLnRhYmxlRGF0YVNvdXJjZS5kYXRhLCB0aGlzLnRhYmxlQ29uZmlnKVxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gRGlzcGxheUNvbHVtbnNGYWN0b3J5LmNyZWF0ZSh0aGlzLnRhYmxlQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLm9uRmlsdGVyLmVtaXQodGhpcy50YWJsZURhdGFTb3VyY2UuZmlsdGVyZWREYXRhLm1hcChmID0+IGYucm93U3JjKSlcclxuICB9XHJcblxyXG4gIHNvcnRUYWJsZShzb3J0UGFyYW1ldGVyczogU29ydCkge1xyXG4gICAgdGhpcy5zb3J0LmVtaXQoc29ydFBhcmFtZXRlcnMpO1xyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGVkUm93c0FjdGlvbihhY3Rpb246IHN0cmluZywgcm93czogVFtdKSB7XHJcbiAgICB0aGlzLm9uU2VsZWN0ZWRSb3dzQWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd3N9KTtcclxuICB9XHJcblxyXG4gIGVtaXRSb3dBY3Rpb24oYWN0aW9uOiBzdHJpbmcsIHJvdzogVCwgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uUm93QWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd30pO1xyXG4gIH1cclxuXHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25Qcm92aWRlci5tYXN0ZXJUb2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Qcm92aWRlci5pc0FsbFNlbGVjdGVkKCk7XHJcbiAgfVxyXG5cclxuICBjYXN0U3JjKHJvdzogYW55KTogVGFibGVSb3c8VD4ge1xyXG4gICAgcmV0dXJuIHJvdztcclxuICB9XHJcblxyXG4gIHJvd0NsaWNrKHJvdzogVGFibGVSb3c8VD4pIHtcclxuICAgIGlmIChyb3cucm93U3JjICE9PSB0aGlzLmhpZ2hsaWdodGVkIHx8IChyb3cucm93U3JjID09PSB0aGlzLmhpZ2hsaWdodGVkICYmICF0aGlzLnRhYmxlQ29uZmlnLmNsaWNrQ2ZnPy5jYW5jZWxhYmxlKSkge1xyXG4gICAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChyb3cucm93U3JjKTtcclxuICAgICAgdGhpcy5oaWdobGlnaHRlZCA9IHJvdy5yb3dTcmM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uUm93Q2xpY2suZW1pdCh1bmRlZmluZWQpO1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodGVkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdCw0LHQu9GO0LTQtdC90LjQtSDQv9GA0Lgg0YPQvdC40YfRgtC+0LbQtdC90LjQuCDQutC+0LzQv9C+0L3QtdC90YLQsFxyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXVyLW1hdC10YWJsZVwiPlxyXG4gIDxuZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBGaWx0ZXIgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGVDb25maWcuZmlsdGVyQ2ZnXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7dGFibGVDb25maWcuZmlsdGVyQ2ZnPy5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJhcHBseUZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3RhYmxlQ29uZmlnLmZpbHRlckNmZz8ucGxhY2Vob2xkZXJ9fVwiXHJcbiAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4O1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRQcmVmaXg+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gVGFibGUgLS0+XHJcbiAgICA8dGFibGUgI3RhYmxlIG1hdC10YWJsZSBtYXRTb3J0XHJcbiAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwidGFibGVEYXRhU291cmNlXCJcclxuICAgICAgICAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0VGFibGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJ0YWJsZUNvbmZpZy50YWJsZVZpZXc/LmhlaWdodFwiXHJcbiAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwidGFibGVDb25maWcudGFibGVWaWV3Py5tYXhIZWlnaHRcIlxyXG4gICAgICAgICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cInRhYmxlQ29uZmlnLnRhYmxlVmlldz8ubWluSGVpZ2h0XCI+XHJcblxyXG4gICAgICA8IS0tICAgICAgICBpbmRleC1jb2x1bW4tLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4UHJvdmlkZXIuaXNFbmFibGVkXCIgW21hdENvbHVtbkRlZl09XCJpbmRleFByb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcblxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICA8bGliLWNvbHVtbi12aWV3IFtjb25maWddPVwiaW5kZXhQcm92aWRlci5oZWFkZXJWaWV3XCI+XHJcbiAgICAgICAgICAgIHt7aW5kZXhQcm92aWRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAge3tyb3dJbmRleCArIGluZGV4UHJvdmlkZXIub2Zmc2V0fX1cclxuICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICA8dGQgbWF0LWZvb3Rlci1jZWxsICptYXRGb290ZXJDZWxsRGVmPlxyXG4gICAgICAgICAge3t0b3RhbFJvd1Byb3ZpZGVyLnRvdGFscy5nZXQoaW5kZXhQcm92aWRlci5DT0xVTU5fTkFNRSkgfHwgJyd9fVxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSAgICAgICAgc2VsZWN0aW9uLWNvbHVtbi0tPlxyXG4gICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwic2VsZWN0aW9uUHJvdmlkZXIuQ09MVU1OX05BTUVcIiAqbmdJZj1cInNlbGVjdGlvblByb3ZpZGVyLmlzRW5hYmxlZFwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb25Qcm92aWRlci5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWJsZUNvbmZpZy5zZWxlY3Rpb25DZmc/LnNob3dTZWxlY3RlZENvdW50ICYmIHNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpXCI+XHJcbiAgICAgICAgICAgICAgKHt7c2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aH19L3t7dGFibGVEYXRhU291cmNlLmRhdGEubGVuZ3RofX0pXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIHRhYmxlQ29uZmlnPy5zZWxlY3Rpb25DZmc/LmFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtaXRTZWxlY3RlZFJvd3NBY3Rpb24oYWN0aW9uLmFjdGlvbiwgc2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnNlbGVjdGVkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJhY3Rpb24uaWNvbi50b29sdGlwIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdGFibGVDb25maWcuc2VsZWN0aW9uQ2ZnIS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7YWN0aW9uLmljb24ubmFtZX19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnRvZ2dsZShjYXN0U3JjKHJvdykucm93U3JjKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb25Qcm92aWRlci5zZWxlY3Rpb24uaXNTZWxlY3RlZChjYXN0U3JjKHJvdykucm93U3JjKVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc2VsZWN0aW9uUHJvdmlkZXIuQ09MVU1OX05BTUV9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBhY3Rpb24gY29sdW1uIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93QWN0aW9uc1Byb3ZpZGVyLmlzRW5hYmxlZFwiIFttYXRDb2x1bW5EZWZdPVwicm93QWN0aW9uc1Byb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1pdFJvd0FjdGlvbihhY3Rpb24uYWN0aW9uLCBlbGVtZW50LnJvd1NyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImFjdGlvbi5pY29uLnRvb2x0aXAgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJvd0FjdGlvbnNQcm92aWRlci5hY3Rpb25WaWV3LmdldChlbGVtZW50LmlkKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAge3thY3Rpb24uaWNvbi5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJDZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHJvd0FjdGlvbnNQcm92aWRlci5DT0xVTU5fTkFNRX1cIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tICAgIHZhbHVlLWljb24tLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uQ29uZmlnIG9mIHRhYmxlQ29uZmlnLmNvbHVtbnNDZmdcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbkNvbmZpZy5rZXlcIj5cclxuXHJcbiAgICAgICAgPCEtLSBpZiBzb3J0YWJsZSBjb2x1bW4gaGVhZGVyIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5Db25maWcuc29ydDsgZWxzZSBub3RTb3J0YWJsZVwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbHVtbkNvbmZpZy5rZXlcIlxyXG4gICAgICAgICAgICAgIFthcnJvd1Bvc2l0aW9uXT1cImNvbHVtbkNvbmZpZy5zb3J0LnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2JlZm9yZScgOiAnYWZ0ZXInXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJWYWx1ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBlbHNlIG5vdCBzb3J0YWJsZSAtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNvcnRhYmxlPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclZhbHVlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDwhLS0gICAgICBoZWFkZXIgdmFsdWUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclZhbHVlPlxyXG4gICAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImNvbHVtbkNvbmZpZy5oZWFkZXJWaWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbkNvbmZpZy5uYW1lXCI+XHJcbiAgICAgICAgICA8L2xpYi1jb2x1bW4tdmlldz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8IS0tIGNvbHVtbiB2YWx1ZSDQv9C+0LvRg9GH0LDRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQutC+0LvQvtC90L7QuiDQvdGD0LbQvdC+INGH0LXRgNC10LcgZ2V0Vmlldyhyb3dJbmRleCwgY29sdW1uQ29uZmlnLmtleSkg0YLQsNC8INC90LDRhdC+0LTRj9GC0YHRjyDRg9C20LVcclxuICAgICAgICDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3Ri9C1INC30L3QsNGH0LXQvdC40Y8g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPLS0+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7XCI+XHJcbiAgICAgICAgICA8bGliLWNvbHVtbi12aWV3XHJcbiAgICAgICAgICAgIFtjb25maWddPVwidGFibGVWaWV3W2VsZW1lbnQuaWRdPy5nZXQoY29sdW1uQ29uZmlnLmtleSlcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiZWxlbWVudCB8IGRhdGFQcm9wZXJ0eUdldHRlcjogY29sdW1uQ29uZmlnLmtleVwiPlxyXG4gICAgICAgICAgPC9saWItY29sdW1uLXZpZXc+XHJcbiAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj5cclxuICAgICAgICAgIHt7IHRvdGFsUm93UHJvdmlkZXIudG90YWxzLmdldChjb2x1bW5Db25maWcua2V5KSB8fCAnJyB9fVxyXG4gICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgIHN0aWNreTogdGhpcy50YWJsZUNvbmZpZy5zdGlja3lDZmc/LmhlYWRlclwiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICNyb3dMaW5rXHJcbiAgICAgICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJvd0NsaWNrKHJvdylcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwb2ludGVyJzogdGFibGVDb25maWcuY2xpY2tDZmc/LnBvaW50ZXIgfHwgZmFsc2UsICduZXctY29sb3InOiBoaWdobGlnaHRlZD09PXJvdy5yb3dTcmMgJiYgdGFibGVDb25maWc/LmNsaWNrQ2ZnPy5oaWdobGlnaHRDbGlja2VkPy5jb2xvcn1cIlxyXG4gICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJ2NvbG9yJzogaGlnaGxpZ2h0ZWQ9PT1yb3cucm93U3JjPyB0YWJsZUNvbmZpZz8uY2xpY2tDZmc/LmhpZ2hsaWdodENsaWNrZWQ/LmNvbG9yIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBoaWdobGlnaHRlZCA9PT0gcm93LnJvd1NyYz8gdGFibGVDb25maWc/LmNsaWNrQ2ZnPy5oaWdobGlnaHRDbGlja2VkPy5iYWNrZ3JvdW5kIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgJ2JvcmRlcic6IGhpZ2hsaWdodGVkID09PSByb3cucm93U3JjPyB0YWJsZUNvbmZpZz8uY2xpY2tDZmc/LmhpZ2hsaWdodENsaWNrZWQ/LmJvcmRlciA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgfVwiPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxSb3dQcm92aWRlci5pc0VuYWJsZWRcIj5cclxuICAgICAgICA8dHIgbWF0LWZvb3Rlci1yb3cgKm1hdEZvb3RlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIiBbc3R5bGVdPVwidG90YWxSb3dQcm92aWRlci5zdHlsZVwiPjwvdHI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90YWJsZT5cclxuXHJcbiAgICA8IS0tIFBhZ2luYXRpb24gLS0+XHJcbiAgICA8bWF0LXBhZ2luYXRvciAqbmdJZj1cInBhZ2luYXRpb25Qcm92aWRlci5pc0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdpbmF0aW9uUHJvdmlkZXIuc2l6ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25Qcm92aWRlci5zaXplXCJcclxuICAgICAgICAgICAgICAgICAgIHNob3dGaXJzdExhc3RCdXR0b25zPlxyXG4gICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9vdGVyQ2VsbFRlbXBsYXRlIGxldC1jb2x1bW5OYW1lPlxyXG4gIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+XHJcbiAgICB7eyB0b3RhbFJvd1Byb3ZpZGVyLnRvdGFscy5nZXQoY29sdW1uTmFtZSkgfHwgJycgfX1cclxuICA8L3RkPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxPQUFPLEVBQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDeEYsT0FBTyxFQUFjLGlCQUFpQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb2x1bW5WaWV3LCBUYWJsZUNvbmZpZ30gZnJvbSAnLi9tb2RlbC9Db2x1bW5Db25maWcnO1xyXG5pbXBvcnQge01hdFNvcnQsIFNvcnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQge01hdFBhZ2luYXRvcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHtTZWxlY3Rpb25Qcm92aWRlciwgU2VsZWN0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSAnLi9wcm92aWRlcnMvU2VsZWN0aW9uUHJvdmlkZXInO1xyXG5pbXBvcnQge0FjdGlvbkV2ZW50LCBSb3dBY3Rpb25Qcm92aWRlciwgUm93QWN0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSAnLi9wcm92aWRlcnMvUm93QWN0aW9uUHJvdmlkZXInO1xyXG5pbXBvcnQge1RhYmxlUm93fSBmcm9tIFwiLi9tb2RlbC9UYWJsZVJvd1wiO1xyXG5pbXBvcnQge1RhYmxlVmlld0ZhY3Rvcnl9IGZyb20gXCIuL21vZGVsL1RhYmxlVmlld0ZhY3RvcnlcIjtcclxuaW1wb3J0IHtJbmRleFByb3ZpZGVyLCBJbmRleFByb3ZpZGVyRHVtbXl9IGZyb20gXCIuL3Byb3ZpZGVycy9JbmRleFByb3ZpZGVyXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvblByb3ZpZGVyLCBQYWdpbmF0aW9uUHJvdmlkZXJEdW1teX0gZnJvbSBcIi4vcHJvdmlkZXJzL1BhZ2luYXRpb25Qcm92aWRlclwiO1xyXG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZUZhY3Rvcnl9IGZyb20gXCIuL2ZhY3Rvcmllcy9NYXRUYWJsZURhdGFTb3VyY2VGYWN0b3J5XCI7XHJcbmltcG9ydCB7RGlzcGxheUNvbHVtbnNGYWN0b3J5fSBmcm9tIFwiLi9mYWN0b3JpZXMvRGlzcGxheUNvbHVtbnNGYWN0b3J5XCI7XHJcbmltcG9ydCB7RW1wdHlWYWx1ZX0gZnJvbSBcIi4vbW9kZWwvRW1wdHlWYWx1ZVwiO1xyXG5pbXBvcnQge1RvdGFsUm93UHJvdmlkZXIsIFRvdGFsUm93UHJvdmlkZXJEdW1teX0gZnJvbSBcIi4vcHJvdmlkZXJzL1RvdGFsUm93UHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGlnaGxpZ2h0Q29udGFpbmVyPFQ+IHtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbk9mZnNldCB7XHJcbiAgbGVmdDogbnVtYmVyLFxyXG4gIHdpZHRoOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdXItbWF0LXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neEF1ck1hdFRhYmxlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyB0YWJsZURhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFRhYmxlUm93PFQ+PihbXSk7XHJcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHRhYmxlVmlldzogTWFwPHN0cmluZywgQ29sdW1uVmlldzxzdHJpbmc+PltdID0gW107XHJcblxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkcmVuKCdyb3dMaW5rJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSByb3dzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSB0YWJsZTogRWxlbWVudFJlZjtcclxuXHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBJbnB1dCgpIHRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZzxUPjtcclxuXHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBUW10gPSBbXTtcclxuXHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7c3RhdGljOiBmYWxzZX0pIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHtzdGF0aWM6IHRydWV9KSBtYXRTb3J0OiBNYXRTb3J0O1xyXG5cclxuICBAT3V0cHV0KCkgc29ydDogRXZlbnRFbWl0dGVyPFNvcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvLyBldmVudHMgaWYgZW5hYmxlZCBhY3Rpb25zXHJcbiAgQE91dHB1dCgpIG9uUm93QWN0aW9uOiBFdmVudEVtaXR0ZXI8QWN0aW9uRXZlbnQ8VD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25FdmVudDxUPj4oKTtcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAvLyBldmVudHMgaWYgZW5hYmxlZCBzZWxlY3QgZXZlbnRcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgb25EZXNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWxlY3RlZFJvd3NBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbkV2ZW50PFRbXT4+KCk7XHJcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4gIEBPdXRwdXQoKSBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cclxuICAvKipcclxuICAgKiByZXR1cm4gZmlsdGVyZWQgcm93c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xyXG5cclxuICBAT3V0cHV0KCkgY29sdW1uT2Zmc2V0cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sdW1uT2Zmc2V0W10+KCk7XHJcblxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBwcml2YXRlIHJlc2l6ZUNvbHVtbk9mZnNldHNPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgPSBFbXB0eVZhbHVlLlJFU0laRV9PQlNFUlZFUjtcclxuXHJcbiAgc2VsZWN0aW9uUHJvdmlkZXI6IFNlbGVjdGlvblByb3ZpZGVyPFQ+ID0gbmV3IFNlbGVjdGlvblByb3ZpZGVyRHVtbXkoKTtcclxuXHJcbiAgcm93QWN0aW9uc1Byb3ZpZGVyOiBSb3dBY3Rpb25Qcm92aWRlcjxUPiA9IG5ldyBSb3dBY3Rpb25Qcm92aWRlckR1bW15PFQ+KCk7XHJcblxyXG4gIGluZGV4UHJvdmlkZXI6IEluZGV4UHJvdmlkZXIgPSBuZXcgSW5kZXhQcm92aWRlckR1bW15KCk7XHJcblxyXG4gIHBhZ2luYXRpb25Qcm92aWRlcjogUGFnaW5hdGlvblByb3ZpZGVyID0gbmV3IFBhZ2luYXRpb25Qcm92aWRlckR1bW15KCk7XHJcblxyXG4gIHRvdGFsUm93UHJvdmlkZXI6IFRvdGFsUm93UHJvdmlkZXI8VD4gPSBuZXcgVG90YWxSb3dQcm92aWRlckR1bW15KCk7XHJcblxyXG4gIGhpZ2hsaWdodGVkOiBUIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjdXN0b21Tb3J0RnVuY3Rpb25zID0gbmV3IE1hcDxzdHJpbmcsIChkYXRhOiBUYWJsZVJvdzxUPiwga2V5OiBzdHJpbmcpID0+IGFueT4oKTtcclxuXHJcbiAgLy/Qt9C90LDRh9C10L3QuNC1INC/0LXRgNC10LTQsNC10YLRgdGPINCyINC60L7QvdGC0LXQudC90LXRgNC1INC40L3QsNGH0LUgT25DaGFuZ2Ug0L3QtSDQstC40LTQuNGCINC40LfQvNC10L3QtdC90LjQuSDQutC+0LPQtNCwINC/0LXRgNC10LTQsNGO0YLRgdGPINC+0LTQuNC90LDQutC+0LLRi9C1INC30L3QsNGH0LXQvdC40LUg0Lgg0L/QvtC00YHQstC10YLQutCwINGB0YLRgNC+0LrQuCDQvdC1INC+0YLQutC70Y7Rh9Cw0LXRgtGB0Y9cclxuICAvLyBAdHMtaWdub3JlXHJcbiAgQElucHV0KCkgaGlnaGxpZ2h0OiBIaWdobGlnaHRDb250YWluZXI8VD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3RhYmxlRGF0YSddICYmIHRoaXMudGFibGVEYXRhKSB7XHJcbiAgICAgIHRoaXMucHJlcGFyZVRhYmxlRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2hpZ2hsaWdodCddICYmIHRoaXMuaGlnaGxpZ2h0KSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlSGlnaGxpZ2h0Q2hhbmdlKHRoaXMuaGlnaGxpZ2h0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSGlnaGxpZ2h0Q2hhbmdlKGg6IEhpZ2hsaWdodENvbnRhaW5lcjxUPikge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZWQgPT09IGgudmFsdWUpIHtcclxuICAgICAgdGhpcy5oaWdobGlnaHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuaGlnaGxpZ2h0ZWQgPSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodGVkID0gaC52YWx1ZTtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYmxlRGF0YVNvdXJjZS5kYXRhLmZpbmRJbmRleChyb3cgPT4gcm93LnJvd1NyYyA9PT0gaC52YWx1ZSk7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5yb3dzPy50b0FycmF5KClbaW5kZXhdPy5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHtcclxuICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxyXG4gICAgICAgICAgYmxvY2s6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICBpbmxpbmU6IFwiY2VudGVyXCJcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudGFibGVDb25maWcpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW5pdCBpbnB1dHMgW3RhYmxlQ29uZmlnXSBpcyBtYW5kYXRvcnkhXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyB3ZSBuZWVkIHRoaXMsIGluIG9yZGVyIHRvIG1ha2UgcGFnaW5hdGlvbiB3b3JrIHdpdGggKm5nSWZcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLm1hdFBhZ2luYXRvcjtcclxuICAgIHRoaXMuaW5pdFNvcnRpbmdEYXRhQWNjZXNzb3IoKTtcclxuICAgIHRoaXMudXBkYXRlQ29sdW1uT2Zmc2V0cygpO1xyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy51cGRhdGVDb2x1bW5PZmZzZXRzKCkpO1xyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRhYmxlLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0U29ydGluZ0RhdGFBY2Nlc3NvcigpIHtcclxuICAgIHRoaXMudGFibGVEYXRhU291cmNlLnNvcnQgPSB0aGlzLm1hdFNvcnQ7XHJcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5zb3J0aW5nRGF0YUFjY2Vzc29yID0gKGRhdGEsIGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjdXN0b21Tb3J0RnVuY3Rpb24gPSB0aGlzLmN1c3RvbVNvcnRGdW5jdGlvbnMuZ2V0KGtleSk7XHJcbiAgICAgIHJldHVybiBjdXN0b21Tb3J0RnVuY3Rpb24gPyBjdXN0b21Tb3J0RnVuY3Rpb24oZGF0YSwga2V5KSA6IGRhdGFba2V5XTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUNvbHVtbk9mZnNldHMoKSB7XHJcbiAgICBjb25zdCBvZmZzZXRzOiBDb2x1bW5PZmZzZXRbXSA9IEFycmF5LmZyb20odGhpcy50YWJsZS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoJykpXHJcbiAgICAgIC5tYXAoYyA9PiAoYyBhcyBIVE1MRWxlbWVudCkpXHJcbiAgICAgIC5tYXAoYyA9PiAoe2xlZnQ6IGMub2Zmc2V0TGVmdCwgd2lkdGg6IGMub2Zmc2V0V2lkdGh9KSlcclxuICAgIHRoaXMuY29sdW1uT2Zmc2V0cy5lbWl0KG9mZnNldHMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmVwYXJlVGFibGVEYXRhKCkge1xyXG4gICAgdGhpcy5pbml0VGFibGUoKTtcclxuICAgIHRoaXMuaW5pdEN1c3RvbVNvcnRGdW5jdGlvbnNNYXAoKTtcclxuICAgIHRoaXMuaW5kZXhQcm92aWRlciA9IEluZGV4UHJvdmlkZXIuY3JlYXRlKHRoaXMudGFibGVDb25maWcpXHJcbiAgICAgIC5hZGRJbmRleENvbHVtbih0aGlzLmRpc3BsYXllZENvbHVtbnMpO1xyXG5cclxuICAgIHRoaXMucm93QWN0aW9uc1Byb3ZpZGVyID0gUm93QWN0aW9uUHJvdmlkZXIuY3JlYXRlKHRoaXMudGFibGVDb25maWcpXHJcbiAgICAgIC5hZGRBY3Rpb25Db2x1bW4odGhpcy5kaXNwbGF5ZWRDb2x1bW5zKVxyXG4gICAgICAuc2V0Vmlldyh0aGlzLnRhYmxlRGF0YVNvdXJjZS5kYXRhKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGlvblByb3ZpZGVyID0gU2VsZWN0aW9uUHJvdmlkZXIuY3JlYXRlKHRoaXMudGFibGVDb25maWcsIHRoaXMudGFibGVEYXRhU291cmNlKVxyXG4gICAgICAuYWRkQ2hlY2tib3hDb2x1bW4odGhpcy5kaXNwbGF5ZWRDb2x1bW5zKVxyXG4gICAgICAuYmluZEV2ZW50RW1pdHRlcnModGhpcy5zZWxlY3RlZCwgdGhpcy5vblNlbGVjdCwgdGhpcy5vbkRlc2VsZWN0KTtcclxuXHJcbiAgICB0aGlzLnBhZ2luYXRpb25Qcm92aWRlciA9IFBhZ2luYXRpb25Qcm92aWRlci5jcmVhdGUodGhpcy50YWJsZUNvbmZpZyk7XHJcblxyXG4gICAgdGhpcy50b3RhbFJvd1Byb3ZpZGVyID0gVG90YWxSb3dQcm92aWRlci5jcmVhdGUodGhpcy50YWJsZUNvbmZpZywgdGhpcy50YWJsZURhdGFTb3VyY2UpXHJcbiAgICAgIC5zZXRTdHlsZSgpXHJcbiAgICAgIC5zZXRUb3RhbFJvdygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0Q3VzdG9tU29ydEZ1bmN0aW9uc01hcCgpIHtcclxuICAgIHRoaXMudGFibGVDb25maWcuY29sdW1uc0NmZ1xyXG4gICAgICAuZmlsdGVyKGMgPT4gYy5zb3J0ICYmIGMuc29ydC5lbmFibGUgJiYgYy5zb3J0LmN1c3RvbVNvcnQpXHJcbiAgICAgIC5mb3JFYWNoKGMgPT4gdGhpcy5jdXN0b21Tb3J0RnVuY3Rpb25zLnNldChjLmtleSwgYy5zb3J0IS5jdXN0b21Tb3J0ISkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRUYWJsZSgpIHtcclxuICAgIHRoaXMudGFibGVEYXRhU291cmNlID0gTWF0VGFibGVEYXRhU291cmNlRmFjdG9yeS5jb252ZXJ0KHRoaXMudGFibGVEYXRhLCB0aGlzLnRhYmxlQ29uZmlnLmNvbHVtbnNDZmcpO1xyXG4gICAgdGhpcy50YWJsZVZpZXcgPSBUYWJsZVZpZXdGYWN0b3J5LnRvVmlldyh0aGlzLnRhYmxlRGF0YVNvdXJjZS5kYXRhLCB0aGlzLnRhYmxlQ29uZmlnKVxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gRGlzcGxheUNvbHVtbnNGYWN0b3J5LmNyZWF0ZSh0aGlzLnRhYmxlQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLm9uRmlsdGVyLmVtaXQodGhpcy50YWJsZURhdGFTb3VyY2UuZmlsdGVyZWREYXRhLm1hcChmID0+IGYucm93U3JjKSlcclxuICB9XHJcblxyXG4gIHNvcnRUYWJsZShzb3J0UGFyYW1ldGVyczogU29ydCkge1xyXG4gICAgdGhpcy5zb3J0LmVtaXQoc29ydFBhcmFtZXRlcnMpO1xyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGVkUm93c0FjdGlvbihhY3Rpb246IHN0cmluZywgcm93czogVFtdKSB7XHJcbiAgICB0aGlzLm9uU2VsZWN0ZWRSb3dzQWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd3N9KTtcclxuICB9XHJcblxyXG4gIGVtaXRSb3dBY3Rpb24oYWN0aW9uOiBzdHJpbmcsIHJvdzogVCwgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uUm93QWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd30pO1xyXG4gIH1cclxuXHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb25Qcm92aWRlci5tYXN0ZXJUb2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Qcm92aWRlci5pc0FsbFNlbGVjdGVkKCk7XHJcbiAgfVxyXG5cclxuICBjYXN0U3JjKHJvdzogYW55KTogVGFibGVSb3c8VD4ge1xyXG4gICAgcmV0dXJuIHJvdztcclxuICB9XHJcblxyXG4gIHJvd0NsaWNrKHJvdzogVGFibGVSb3c8VD4pIHtcclxuICAgIGlmIChyb3cucm93U3JjICE9PSB0aGlzLmhpZ2hsaWdodGVkIHx8IChyb3cucm93U3JjID09PSB0aGlzLmhpZ2hsaWdodGVkICYmICF0aGlzLnRhYmxlQ29uZmlnLmNsaWNrQ2ZnPy5jYW5jZWxhYmxlKSkge1xyXG4gICAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChyb3cucm93U3JjKTtcclxuICAgICAgdGhpcy5oaWdobGlnaHRlZCA9IHJvdy5yb3dTcmM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uUm93Q2xpY2suZW1pdCh1bmRlZmluZWQpO1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodGVkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdCw0LHQu9GO0LTQtdC90LjQtSDQv9GA0Lgg0YPQvdC40YfRgtC+0LbQtdC90LjQuCDQutC+0LzQv9C+0L3QtdC90YLQsFxyXG4gICAgdGhpcy5yZXNpemVDb2x1bW5PZmZzZXRzT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXVyLW1hdC10YWJsZVwiPlxyXG4gIDxuZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBGaWx0ZXIgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGVDb25maWcuZmlsdGVyQ2ZnXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7dGFibGVDb25maWcuZmlsdGVyQ2ZnPy5sYWJlbH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJhcHBseUZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3RhYmxlQ29uZmlnLmZpbHRlckNmZz8ucGxhY2Vob2xkZXJ9fVwiXHJcbiAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4O1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRQcmVmaXg+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gVGFibGUgLS0+XHJcbiAgICA8dGFibGUgI3RhYmxlIG1hdC10YWJsZSBtYXRTb3J0XHJcbiAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwidGFibGVEYXRhU291cmNlXCJcclxuICAgICAgICAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0VGFibGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJ0YWJsZUNvbmZpZy50YWJsZVZpZXc/LmhlaWdodFwiXHJcbiAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwidGFibGVDb25maWcudGFibGVWaWV3Py5tYXhIZWlnaHRcIlxyXG4gICAgICAgICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cInRhYmxlQ29uZmlnLnRhYmxlVmlldz8ubWluSGVpZ2h0XCI+XHJcblxyXG4gICAgICA8IS0tICAgICAgICBpbmRleC1jb2x1bW4tLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4UHJvdmlkZXIuaXNFbmFibGVkXCIgW21hdENvbHVtbkRlZl09XCJpbmRleFByb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcblxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICA8bGliLWNvbHVtbi12aWV3IFtjb25maWddPVwiaW5kZXhQcm92aWRlci5oZWFkZXJWaWV3XCI+XHJcbiAgICAgICAgICAgIHt7aW5kZXhQcm92aWRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAge3tyb3dJbmRleCArIGluZGV4UHJvdmlkZXIub2Zmc2V0fX1cclxuICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICA8dGQgbWF0LWZvb3Rlci1jZWxsICptYXRGb290ZXJDZWxsRGVmPlxyXG4gICAgICAgICAge3t0b3RhbFJvd1Byb3ZpZGVyLnRvdGFscy5nZXQoaW5kZXhQcm92aWRlci5DT0xVTU5fTkFNRSkgfHwgJyd9fVxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSAgICAgICAgc2VsZWN0aW9uLWNvbHVtbi0tPlxyXG4gICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwic2VsZWN0aW9uUHJvdmlkZXIuQ09MVU1OX05BTUVcIiAqbmdJZj1cInNlbGVjdGlvblByb3ZpZGVyLmlzRW5hYmxlZFwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb25Qcm92aWRlci5zZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWJsZUNvbmZpZy5zZWxlY3Rpb25DZmc/LnNob3dTZWxlY3RlZENvdW50ICYmIHNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpXCI+XHJcbiAgICAgICAgICAgICAgKHt7c2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aH19L3t7dGFibGVEYXRhU291cmNlLmRhdGEubGVuZ3RofX0pXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIHRhYmxlQ29uZmlnPy5zZWxlY3Rpb25DZmc/LmFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtaXRTZWxlY3RlZFJvd3NBY3Rpb24oYWN0aW9uLmFjdGlvbiwgc2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnNlbGVjdGVkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJhY3Rpb24uaWNvbi50b29sdGlwIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdGFibGVDb25maWcuc2VsZWN0aW9uQ2ZnIS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7YWN0aW9uLmljb24ubmFtZX19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLnRvZ2dsZShjYXN0U3JjKHJvdykucm93U3JjKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb25Qcm92aWRlci5zZWxlY3Rpb24uaXNTZWxlY3RlZChjYXN0U3JjKHJvdykucm93U3JjKVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogc2VsZWN0aW9uUHJvdmlkZXIuQ09MVU1OX05BTUV9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBhY3Rpb24gY29sdW1uIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93QWN0aW9uc1Byb3ZpZGVyLmlzRW5hYmxlZFwiIFttYXRDb2x1bW5EZWZdPVwicm93QWN0aW9uc1Byb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1pdFJvd0FjdGlvbihhY3Rpb24uYWN0aW9uLCBlbGVtZW50LnJvd1NyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImFjdGlvbi5pY29uLnRvb2x0aXAgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJvd0FjdGlvbnNQcm92aWRlci5hY3Rpb25WaWV3LmdldChlbGVtZW50LmlkKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAge3thY3Rpb24uaWNvbi5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJDZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHJvd0FjdGlvbnNQcm92aWRlci5DT0xVTU5fTkFNRX1cIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tICAgIHZhbHVlLWljb24tLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uQ29uZmlnIG9mIHRhYmxlQ29uZmlnLmNvbHVtbnNDZmdcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbkNvbmZpZy5rZXlcIj5cclxuXHJcbiAgICAgICAgPCEtLSBpZiBzb3J0YWJsZSBjb2x1bW4gaGVhZGVyIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5Db25maWcuc29ydDsgZWxzZSBub3RTb3J0YWJsZVwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbHVtbkNvbmZpZy5rZXlcIlxyXG4gICAgICAgICAgICAgIFthcnJvd1Bvc2l0aW9uXT1cImNvbHVtbkNvbmZpZy5zb3J0LnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2JlZm9yZScgOiAnYWZ0ZXInXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJWYWx1ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBlbHNlIG5vdCBzb3J0YWJsZSAtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNvcnRhYmxlPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclZhbHVlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDwhLS0gICAgICBoZWFkZXIgdmFsdWUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclZhbHVlPlxyXG4gICAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImNvbHVtbkNvbmZpZy5oZWFkZXJWaWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbkNvbmZpZy5uYW1lXCI+XHJcbiAgICAgICAgICA8L2xpYi1jb2x1bW4tdmlldz5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8IS0tIGNvbHVtbiB2YWx1ZSDQv9C+0LvRg9GH0LDRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQutC+0LvQvtC90L7QuiDQvdGD0LbQvdC+INGH0LXRgNC10LcgZ2V0Vmlldyhyb3dJbmRleCwgY29sdW1uQ29uZmlnLmtleSkg0YLQsNC8INC90LDRhdC+0LTRj9GC0YHRjyDRg9C20LVcclxuICAgICAgICDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3Ri9C1INC30L3QsNGH0LXQvdC40Y8g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPLS0+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7XCI+XHJcbiAgICAgICAgICA8bGliLWNvbHVtbi12aWV3XHJcbiAgICAgICAgICAgIFtjb25maWddPVwidGFibGVWaWV3W2VsZW1lbnQuaWRdPy5nZXQoY29sdW1uQ29uZmlnLmtleSlcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiZWxlbWVudCB8IGRhdGFQcm9wZXJ0eUdldHRlcjogY29sdW1uQ29uZmlnLmtleVwiPlxyXG4gICAgICAgICAgPC9saWItY29sdW1uLXZpZXc+XHJcbiAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj5cclxuICAgICAgICAgIHt7IHRvdGFsUm93UHJvdmlkZXIudG90YWxzLmdldChjb2x1bW5Db25maWcua2V5KSB8fCAnJyB9fVxyXG4gICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgIHN0aWNreTogdGhpcy50YWJsZUNvbmZpZy5zdGlja3lDZmc/LmhlYWRlclwiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICNyb3dMaW5rXHJcbiAgICAgICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJvd0NsaWNrKHJvdylcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydwb2ludGVyJzogdGFibGVDb25maWcuY2xpY2tDZmc/LnBvaW50ZXIgfHwgZmFsc2UsICduZXctY29sb3InOiBoaWdobGlnaHRlZD09PXJvdy5yb3dTcmMgJiYgdGFibGVDb25maWc/LmNsaWNrQ2ZnPy5oaWdobGlnaHRDbGlja2VkPy5jb2xvcn1cIlxyXG4gICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJ2NvbG9yJzogaGlnaGxpZ2h0ZWQ9PT1yb3cucm93U3JjPyB0YWJsZUNvbmZpZz8uY2xpY2tDZmc/LmhpZ2hsaWdodENsaWNrZWQ/LmNvbG9yIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBoaWdobGlnaHRlZCA9PT0gcm93LnJvd1NyYz8gdGFibGVDb25maWc/LmNsaWNrQ2ZnPy5oaWdobGlnaHRDbGlja2VkPy5iYWNrZ3JvdW5kIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgJ2JvcmRlcic6IGhpZ2hsaWdodGVkID09PSByb3cucm93U3JjPyB0YWJsZUNvbmZpZz8uY2xpY2tDZmc/LmhpZ2hsaWdodENsaWNrZWQ/LmJvcmRlciA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgfVwiPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxSb3dQcm92aWRlci5pc0VuYWJsZWRcIj5cclxuICAgICAgICA8dHIgbWF0LWZvb3Rlci1yb3cgKm1hdEZvb3RlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIiBbc3R5bGVdPVwidG90YWxSb3dQcm92aWRlci5zdHlsZVwiPjwvdHI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90YWJsZT5cclxuXHJcbiAgICA8IS0tIFBhZ2luYXRpb24gLS0+XHJcbiAgICA8bWF0LXBhZ2luYXRvciAqbmdJZj1cInBhZ2luYXRpb25Qcm92aWRlci5pc0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdpbmF0aW9uUHJvdmlkZXIuc2l6ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25Qcm92aWRlci5zaXplXCJcclxuICAgICAgICAgICAgICAgICAgIHNob3dGaXJzdExhc3RCdXR0b25zPlxyXG4gICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9vdGVyQ2VsbFRlbXBsYXRlIGxldC1jb2x1bW5OYW1lPlxyXG4gIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+XHJcbiAgICB7eyB0b3RhbFJvd1Byb3ZpZGVyLnRvdGFscy5nZXQoY29sdW1uTmFtZSkgfHwgJycgfX1cclxuICA8L3RkPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -497,6 +497,7 @@ class NgxAurMatTableComponent {
|
|
|
497
497
|
this.indexProvider = new IndexProviderDummy();
|
|
498
498
|
this.paginationProvider = new PaginationProviderDummy();
|
|
499
499
|
this.totalRowProvider = new TotalRowProviderDummy();
|
|
500
|
+
this.customSortFunctions = new Map();
|
|
500
501
|
}
|
|
501
502
|
ngOnChanges(changes) {
|
|
502
503
|
if (changes['tableData'] && this.tableData) {
|
|
@@ -532,11 +533,18 @@ class NgxAurMatTableComponent {
|
|
|
532
533
|
// we need this, in order to make pagination work with *ngIf
|
|
533
534
|
ngAfterViewInit() {
|
|
534
535
|
this.tableDataSource.paginator = this.matPaginator;
|
|
535
|
-
this.
|
|
536
|
+
this.initSortingDataAccessor();
|
|
536
537
|
this.updateColumnOffsets();
|
|
537
538
|
this.resizeColumnOffsetsObserver = new ResizeObserver(() => this.updateColumnOffsets());
|
|
538
539
|
this.resizeColumnOffsetsObserver.observe(this.table.nativeElement);
|
|
539
540
|
}
|
|
541
|
+
initSortingDataAccessor() {
|
|
542
|
+
this.tableDataSource.sort = this.matSort;
|
|
543
|
+
this.tableDataSource.sortingDataAccessor = (data, key) => {
|
|
544
|
+
const customSortFunction = this.customSortFunctions.get(key);
|
|
545
|
+
return customSortFunction ? customSortFunction(data, key) : data[key];
|
|
546
|
+
};
|
|
547
|
+
}
|
|
540
548
|
updateColumnOffsets() {
|
|
541
549
|
const offsets = Array.from(this.table.nativeElement.querySelectorAll('th'))
|
|
542
550
|
.map(c => c)
|
|
@@ -545,6 +553,7 @@ class NgxAurMatTableComponent {
|
|
|
545
553
|
}
|
|
546
554
|
prepareTableData() {
|
|
547
555
|
this.initTable();
|
|
556
|
+
this.initCustomSortFunctionsMap();
|
|
548
557
|
this.indexProvider = IndexProvider.create(this.tableConfig)
|
|
549
558
|
.addIndexColumn(this.displayedColumns);
|
|
550
559
|
this.rowActionsProvider = RowActionProvider.create(this.tableConfig)
|
|
@@ -558,6 +567,11 @@ class NgxAurMatTableComponent {
|
|
|
558
567
|
.setStyle()
|
|
559
568
|
.setTotalRow();
|
|
560
569
|
}
|
|
570
|
+
initCustomSortFunctionsMap() {
|
|
571
|
+
this.tableConfig.columnsCfg
|
|
572
|
+
.filter(c => c.sort && c.sort.enable && c.sort.customSort)
|
|
573
|
+
.forEach(c => this.customSortFunctions.set(c.key, c.sort.customSort));
|
|
574
|
+
}
|
|
561
575
|
initTable() {
|
|
562
576
|
this.tableDataSource = MatTableDataSourceFactory.convert(this.tableData, this.tableConfig.columnsCfg);
|
|
563
577
|
this.tableView = TableViewFactory.toView(this.tableDataSource.data, this.tableConfig);
|