@sd-angular/core 0.0.902 → 0.0.906

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.
Files changed (36) hide show
  1. package/bundles/sd-angular-core-grid-material.umd.js +200 -27
  2. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  4. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-tab-router.umd.js +11 -8
  6. package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-tab-router.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -1
  9. package/esm2015/grid-material/sd-angular-core-grid-material.js +20 -18
  10. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +2 -2
  11. package/esm2015/grid-material/src/lib/components/dynamic-column/dynamic-column.component.js +98 -0
  12. package/esm2015/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +23 -5
  13. package/esm2015/grid-material/src/lib/grid-material.component.js +1 -2
  14. package/esm2015/grid-material/src/lib/grid-material.module.js +8 -2
  15. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  16. package/esm2015/grid-material/src/lib/models/grid-config.model.js +1 -1
  17. package/esm2015/grid-material/src/lib/pipes/column-badge.pipe.js +4 -1
  18. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +5 -1
  19. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.model.js +2 -0
  20. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +57 -0
  21. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +21 -18
  22. package/fesm2015/sd-angular-core-grid-material.js +176 -8
  23. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  24. package/fesm2015/sd-angular-core-tab-router.js +11 -8
  25. package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
  26. package/grid-material/sd-angular-core-grid-material.d.ts +19 -17
  27. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  28. package/grid-material/src/lib/components/dynamic-column/dynamic-column.component.d.ts +32 -0
  29. package/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.d.ts +9 -0
  30. package/grid-material/src/lib/models/grid-column.model.d.ts +2 -0
  31. package/grid-material/src/lib/models/grid-config.model.d.ts +11 -0
  32. package/grid-material/src/lib/services/generated-column/generated-column.model.d.ts +8 -0
  33. package/grid-material/src/lib/services/generated-column/generated-column.service.d.ts +10 -0
  34. package/package.json +1 -1
  35. package/{sd-angular-core-0.0.902.tgz → sd-angular-core-0.0.906.tgz} +0 -0
  36. package/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.d.ts +7 -7
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbjxUID0gYW55PiB7XHJcbiAga2V5Pzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIHN0b3JhZ2U/OiAnc2Vzc2lvbicgfCAnc2VydmVyJztcclxuICBjdXN0b21Db2x1bW4/OiBib29sZWFuO1xyXG4gIGFyZ3M/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZE9yaWdpbkNvbHVtbiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2RDb2x1bW5Db25maWd1cmF0aW9uIHtcclxuICBvcmlnaW46IFNkT3JpZ2luQ29sdW1uO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZml4ZWQ/OiBib29sZWFuO1xyXG4gIGlzR2VuZXJhdGVkQ29sdW1uPzogYm9vbGVhbjtcclxuICBnZW5lcmF0ZWRDb2x1bW5zPzogc3RyaW5nW107XHJcbiAgaHRtbFRlbXBsYXRlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZENvbmZpZ3VyYXRpb24ge1xyXG4gIGNvbHVtbnM/OiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0IHtcclxuICBjb2x1bW46IHtcclxuICAgIFtmaWVsZDogc3RyaW5nXToge1xyXG4gICAgICB0aXRsZT86IHN0cmluZyxcclxuICAgICAgd2lkdGg/OiBzdHJpbmcsXHJcbiAgICB9XHJcbiAgfTtcclxuICBmaXhlZENvbHVtbjoge1xyXG4gICAgW2ZpZWxkOiBzdHJpbmddOiB7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgICB3aWR0aD86IHN0cmluZyxcclxuICAgIH1cclxuICB9O1xyXG4gIGZpcnN0Q29sdW1uczogU2RHcmlkTWF0ZXJpYWxDb2x1bW5bXTtcclxuICBzZWNvbmRDb2x1bW5zOiBTZEdyaWRNYXRlcmlhbENvbHVtbltdO1xyXG4gIGZpcnN0SGVhZGVyczogc3RyaW5nW107XHJcbiAgc2Vjb25kSGVhZGVyczogc3RyaW5nW107XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XHJcbiAgZGlzcGxheWVkRm9vdGVyczogc3RyaW5nW107XHJcbiAgbXVsdGlwbGVIZWFkZXI6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2RHcmlkQ29uZmlndXJhdGlvbkNhY2hlIHtcclxuICBsb2FkOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gIGdldDogKCkgPT4gUHJvbWlzZTxTZEdyaWRDb25maWd1cmF0aW9uPjtcclxuICBzZXQ6IChjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKSA9PiBTZEdyaWRDb25maWd1cmF0aW9uO1xyXG4gIHJlbW92ZTogKCkgPT4gdm9pZDtcclxuICBvYnNlcnZlcjogT2JzZXJ2YWJsZTxTZEdyaWRDb25maWd1cmF0aW9uPjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdlbmVyYXRlZENvbHVtbiB9IGZyb20gJy4uL3NlcnZpY2VzL2dlbmVyYXRlZC1jb2x1bW4vZ2VuZXJhdGVkLWNvbHVtbi5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29uZmlnT3B0aW9uPFQgPSBhbnk+IHtcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgc3RvcmFnZT86ICdzZXNzaW9uJyB8ICdzZXJ2ZXInO1xyXG4gIGN1c3RvbUNvbHVtbj86IGJvb2xlYW47XHJcbiAgYXJncz86IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICB9O1xyXG4gIHN5c3RlbUNvbHVtbj86IHtcclxuICAgIHBlcm1pc3Npb24/OiAnUkVBRCcgfCAnQ1JFQVRFJyB8ICdVUERBVEUnIHwgJ0RFTEVURSc7XHJcbiAgICBhcmdzPzoge1xyXG4gICAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICB9O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2RPcmlnaW5Db2x1bW4ge1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBpbnZpc2libGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR2VuZXJhdGVkQ29uZmlndXJhdGlvbiB7XHJcbiAgc3lzdGVtQ29sdW1uczogU2RHZW5lcmF0ZWRDb2x1bW5bXTtcclxuICBjb2x1bW5zOiBTZEdlbmVyYXRlZENvbHVtbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkQ29sdW1uQ29uZmlndXJhdGlvbiB7XHJcbiAgb3JpZ2luOiBTZE9yaWdpbkNvbHVtbjtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBpbnZpc2libGU/OiBib29sZWFuO1xyXG4gIGZpeGVkPzogYm9vbGVhbjtcclxuICBpc0dlbmVyYXRlZENvbHVtbj86IGJvb2xlYW47XHJcbiAgZ2VuZXJhdGVkQ29sdW1ucz86IHN0cmluZ1tdO1xyXG4gIGh0bWxUZW1wbGF0ZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRDb25maWd1cmF0aW9uIHtcclxuICBjb2x1bW5zPzogU2RDb2x1bW5Db25maWd1cmF0aW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdCB7XHJcbiAgY29sdW1uOiB7XHJcbiAgICBbZmllbGQ6IHN0cmluZ106IHtcclxuICAgICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIHdpZHRoPzogc3RyaW5nLFxyXG4gICAgfVxyXG4gIH07XHJcbiAgZml4ZWRDb2x1bW46IHtcclxuICAgIFtmaWVsZDogc3RyaW5nXToge1xyXG4gICAgICB0aXRsZT86IHN0cmluZyxcclxuICAgICAgd2lkdGg/OiBzdHJpbmcsXHJcbiAgICB9XHJcbiAgfTtcclxuICBmaXJzdENvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uW107XHJcbiAgc2Vjb25kQ29sdW1uczogU2RHcmlkTWF0ZXJpYWxDb2x1bW5bXTtcclxuICBmaXJzdEhlYWRlcnM6IHN0cmluZ1tdO1xyXG4gIHNlY29uZEhlYWRlcnM6IHN0cmluZ1tdO1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGRpc3BsYXllZEZvb3RlcnM6IHN0cmluZ1tdO1xyXG4gIG11bHRpcGxlSGVhZGVyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZSB7XHJcbiAgbG9hZDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICBnZXQ6ICgpID0+IFByb21pc2U8U2RHcmlkQ29uZmlndXJhdGlvbj47XHJcbiAgc2V0OiAoY29uZmlndXJhdGlvbjogU2RHcmlkQ29uZmlndXJhdGlvbikgPT4gU2RHcmlkQ29uZmlndXJhdGlvbjtcclxuICByZW1vdmU6ICgpID0+IHZvaWQ7XHJcbiAgb2JzZXJ2ZXI6IE9ic2VydmFibGU8U2RHcmlkQ29uZmlndXJhdGlvbj47XHJcbn1cclxuIl19
@@ -5,6 +5,9 @@ export class SdColumnBadgePipe {
5
5
  if (column.type === 'string' && (column === null || column === void 0 ? void 0 : column.badge)) {
6
6
  return column.badge(value, rowData);
7
7
  }
8
+ if (column.type === 'bool' && (column === null || column === void 0 ? void 0 : column.badge)) {
9
+ return column.badge(value, rowData);
10
+ }
8
11
  return null;
9
12
  }
10
13
  }
@@ -14,4 +17,4 @@ SdColumnBadgePipe.decorators = [
14
17
  },] }
15
18
  ];
16
19
  SdColumnBadgePipe.ctorParameters = () => [];
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJhZGdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9jb2x1bW4tYmFkZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGdCQUFnQixDQUFDO0lBQ2pCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBWSxFQUFFLE1BQTRCO1FBQzlELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssQ0FBQSxFQUFFO1lBQzdDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDckM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQVZGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsYUFBYTthQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbHVtbkJhZGdlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RDb2x1bW5CYWRnZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCByb3dEYXRhOiBhbnksIGNvbHVtbjogU2RHcmlkTWF0ZXJpYWxDb2x1bW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGNvbHVtbi50eXBlID09PSAnc3RyaW5nJyAmJiBjb2x1bW4/LmJhZGdlKSB7XHJcbiAgICAgIHJldHVybiBjb2x1bW4uYmFkZ2UodmFsdWUsIHJvd0RhdGEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJhZGdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9jb2x1bW4tYmFkZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGdCQUFnQixDQUFDO0lBQ2pCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBWSxFQUFFLE1BQTRCO1FBQzlELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssQ0FBQSxFQUFFO1lBQzdDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDckM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxLQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxLQUFLLENBQUEsRUFBRTtZQUMzQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUFiRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7YUFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjb2x1bW5CYWRnZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ29sdW1uQmFkZ2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgcm93RGF0YTogYW55LCBjb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uKTogc3RyaW5nIHtcclxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ3N0cmluZycgJiYgY29sdW1uPy5iYWRnZSkge1xyXG4gICAgICByZXR1cm4gY29sdW1uLmJhZGdlKHZhbHVlLCByb3dEYXRhKTtcclxuICAgIH1cclxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2Jvb2wnICYmIGNvbHVtbj8uYmFkZ2UpIHtcclxuICAgICAgcmV0dXJuIGNvbHVtbi5iYWRnZSh2YWx1ZSwgcm93RGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -5,12 +5,16 @@ export class SdColumnTransformPipe {
5
5
  this.decimalPipe = decimalPipe;
6
6
  }
7
7
  transform(value, rowData, column) {
8
+ var _a, _b;
8
9
  if (column === null || column === void 0 ? void 0 : column.transform) {
9
10
  return column.transform(value, rowData);
10
11
  }
11
12
  if (column.type === 'number' && Number.isNumber(value)) {
12
13
  return Number.toVNCurrency(value); // this.decimalPipe.transform(value, '1.0-2');
13
14
  }
15
+ if (column.type === 'bool') {
16
+ return value === true ? (((_a = column.option) === null || _a === void 0 ? void 0 : _a.displayOnTrue) || 'True') : (((_b = column.option) === null || _b === void 0 ? void 0 : _b.displayOnTrue) || 'False');
17
+ }
14
18
  return value;
15
19
  }
16
20
  }
@@ -22,4 +26,4 @@ SdColumnTransformPipe.decorators = [
22
26
  SdColumnTransformPipe.ctorParameters = () => [
23
27
  { type: DecimalPipe }
24
28
  ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRyYW5zZm9ybS5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvY29sdW1uLXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUksQ0FBQztJQUNqRCxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxNQUE0QjtRQUM5RCxJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLEVBQUU7WUFDckIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0RCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw4Q0FBOEM7U0FDbEY7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsaUJBQWlCO2FBQ3hCOzs7WUFMUSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjb2x1bW5UcmFuc2Zvcm0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZENvbHVtblRyYW5zZm9ybVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSkgeyB9XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHJvd0RhdGE6IGFueSwgY29sdW1uOiBTZEdyaWRNYXRlcmlhbENvbHVtbik6IHN0cmluZyB7XHJcbiAgICBpZiAoY29sdW1uPy50cmFuc2Zvcm0pIHtcclxuICAgICAgcmV0dXJuIGNvbHVtbi50cmFuc2Zvcm0odmFsdWUsIHJvd0RhdGEpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbHVtbi50eXBlID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKTsgLy8gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUsICcxLjAtMicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRyYW5zZm9ybS5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvY29sdW1uLXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUksQ0FBQztJQUNqRCxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxNQUE0Qjs7UUFDOUQsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsU0FBUyxFQUFFO1lBQ3JCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDekM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEQsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsOENBQThDO1NBQ2xGO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMxQixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxhQUFhLEtBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxhQUFhLEtBQUksT0FBTyxDQUFDLENBQUM7U0FDOUc7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWhCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGlCQUFpQjthQUN4Qjs7O1lBTFEsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbHVtbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnY29sdW1uVHJhbnNmb3JtJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUpIHsgfVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCByb3dEYXRhOiBhbnksIGNvbHVtbjogU2RHcmlkTWF0ZXJpYWxDb2x1bW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGNvbHVtbj8udHJhbnNmb3JtKSB7XHJcbiAgICAgIHJldHVybiBjb2x1bW4udHJhbnNmb3JtKHZhbHVlLCByb3dEYXRhKTtcclxuICAgIH1cclxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSk7IC8vIHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbHVlLCAnMS4wLTInKTtcclxuICAgIH1cclxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2Jvb2wnKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSA/IChjb2x1bW4ub3B0aW9uPy5kaXNwbGF5T25UcnVlIHx8ICdUcnVlJykgOiAoY29sdW1uLm9wdGlvbj8uZGlzcGxheU9uVHJ1ZSB8fCAnRmFsc2UnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLWNvbHVtbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL3NlcnZpY2VzL2dlbmVyYXRlZC1jb2x1bW4vZ2VuZXJhdGVkLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5cclxuLy8gZXhwb3J0IGNsYXNzIFNkR2VuZXJhdGVkQ29sdW1uPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxDb2x1bW48VD4ge1xyXG4vLyAgIHRpdGxlPzogc3RyaW5nO1xyXG4vLyAgIHdpZHRoPzogc3RyaW5nO1xyXG4vLyAgIHR5cGU/OiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2wnIHwgJ2RhdGUnIHwgJ2RhdGV0aW1lJyB8ICdpbWFnZScgfCAnJ1xyXG4vLyAgIGludmlzaWJsZT86IHN0cmluZztcclxuLy8gICBmaXhlZD86IHN0cmluZztcclxuLy8gICBodG1sVGVtcGxhdGU/OiBzdHJpbmc7XHJcbi8vICAgZmllbGRzPzogc3RyaW5nW107XHJcbi8vIH1cclxuXHJcbmV4cG9ydCB0eXBlIFNkR2VuZXJhdGVkQ29sdW1uPFQgPSBhbnk+ID0gU2RHcmlkTWF0ZXJpYWxDb2x1bW48VD4gJiB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgaXNTeXN0ZW0/OiBib29sZWFuO1xyXG4gIHVzZVRlbXBsYXRlPzogYm9vbGVhbjtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBmaWVsZHM/OiBzdHJpbmdbXTtcclxufTtcclxuIl19
@@ -0,0 +1,57 @@
1
+ var _cache;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { Injectable } from '@angular/core';
4
+ import hash from 'object-hash';
5
+ import { SdSettingService } from '@sd-angular/core/setting';
6
+ export class SdGeneratedColumnService {
7
+ constructor(settingService) {
8
+ this.settingService = settingService;
9
+ _cache.set(this, {});
10
+ this.load = (configuration) => {
11
+ if (!(configuration === null || configuration === void 0 ? void 0 : configuration.key)) {
12
+ return null;
13
+ }
14
+ const key = hash({
15
+ prefix: '260f5e94-5865-4425-8ced-b9c083c390dd',
16
+ key: configuration.key
17
+ });
18
+ if (!__classPrivateFieldGet(this, _cache)[key]) {
19
+ __classPrivateFieldGet(this, _cache)[key] = this.settingService.create(key, {
20
+ type: configuration === null || configuration === void 0 ? void 0 : configuration.storage,
21
+ args: configuration === null || configuration === void 0 ? void 0 : configuration.args,
22
+ default: []
23
+ });
24
+ }
25
+ return __classPrivateFieldGet(this, _cache)[key];
26
+ };
27
+ this.loadSystem = (configuration) => {
28
+ var _a;
29
+ if (!(configuration === null || configuration === void 0 ? void 0 : configuration.key)) {
30
+ return null;
31
+ }
32
+ if (!(configuration === null || configuration === void 0 ? void 0 : configuration.systemColumn)) {
33
+ return null;
34
+ }
35
+ const key = hash({
36
+ prefix: '8b8050ca-1f44-4860-bad3-20e646c0d68f',
37
+ key: configuration.key
38
+ });
39
+ if (!__classPrivateFieldGet(this, _cache)[key]) {
40
+ __classPrivateFieldGet(this, _cache)[key] = this.settingService.create(key, {
41
+ type: 'server',
42
+ args: (_a = configuration === null || configuration === void 0 ? void 0 : configuration.systemColumn) === null || _a === void 0 ? void 0 : _a.args,
43
+ default: []
44
+ });
45
+ }
46
+ return __classPrivateFieldGet(this, _cache)[key];
47
+ };
48
+ }
49
+ }
50
+ _cache = new WeakMap();
51
+ SdGeneratedColumnService.decorators = [
52
+ { type: Injectable }
53
+ ];
54
+ SdGeneratedColumnService.ctorParameters = () => [
55
+ { type: SdSettingService }
56
+ ];
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLWNvbHVtbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmljZXMvZ2VuZXJhdGVkLWNvbHVtbi9nZW5lcmF0ZWQtY29sdW1uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUt2RSxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQ1UsY0FBZ0M7UUFBaEMsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBSjFDLGlCQUVJLEVBQUUsRUFBQztRQUtQLFNBQUksR0FBRyxDQUFDLGFBQXlDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLEVBQUMsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLEdBQUcsQ0FBQSxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUNmLE1BQU0sRUFBRSxzQ0FBc0M7Z0JBQzlDLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRzthQUN2QixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMscUNBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLHFDQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFzQixHQUFHLEVBQUU7b0JBQ3RFLElBQUksRUFBRSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsT0FBTztvQkFDNUIsSUFBSSxFQUFFLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxJQUFJO29CQUN6QixPQUFPLEVBQUUsRUFBRTtpQkFDWixDQUFDLENBQUM7YUFDSjtZQUNELE9BQU8scUNBQVksR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRUQsZUFBVSxHQUFHLENBQUMsYUFBeUMsRUFBRSxFQUFFOztZQUN6RCxJQUFJLEVBQUMsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLEdBQUcsQ0FBQSxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsSUFBSSxFQUFDLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxZQUFZLENBQUEsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztnQkFDZixNQUFNLEVBQUUsc0NBQXNDO2dCQUM5QyxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUc7YUFDdkIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLHFDQUFZLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQixxQ0FBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBc0IsR0FBRyxFQUFFO29CQUN0RSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLFFBQUUsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFlBQVksMENBQUUsSUFBSTtvQkFDdkMsT0FBTyxFQUFFLEVBQUU7aUJBQ1osQ0FBQyxDQUFDO2FBQ0o7WUFDRCxPQUFPLHFDQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQTtJQXpDRCxDQUFDOzs7O1lBUEYsVUFBVTs7O1lBSlMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFNkU2V0dGluZywgU2RTZXR0aW5nU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2V0dGluZyc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29uZmlnT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHZW5lcmF0ZWRDb2x1bW4gfSBmcm9tICcuL2dlbmVyYXRlZC1jb2x1bW4ubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlIHtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFNkU2V0dGluZzxTZEdlbmVyYXRlZENvbHVtbltdPlxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGxvYWQgPSAoY29uZmlndXJhdGlvbjogU2RHcmlkTWF0ZXJpYWxDb25maWdPcHRpb24pID0+IHtcclxuICAgIGlmICghY29uZmlndXJhdGlvbj8ua2V5KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5ID0gaGFzaCh7XHJcbiAgICAgIHByZWZpeDogJzI2MGY1ZTk0LTU4NjUtNDQyNS04Y2VkLWI5YzA4M2MzOTBkZCcsXHJcbiAgICAgIGtleTogY29uZmlndXJhdGlvbi5rZXlcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICB0aGlzLiNjYWNoZVtrZXldID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHZW5lcmF0ZWRDb2x1bW5bXT4oa2V5LCB7XHJcbiAgICAgICAgdHlwZTogY29uZmlndXJhdGlvbj8uc3RvcmFnZSxcclxuICAgICAgICBhcmdzOiBjb25maWd1cmF0aW9uPy5hcmdzLFxyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuI2NhY2hlW2tleV07XHJcbiAgfVxyXG5cclxuICBsb2FkU3lzdGVtID0gKGNvbmZpZ3VyYXRpb246IFNkR3JpZE1hdGVyaWFsQ29uZmlnT3B0aW9uKSA9PiB7XHJcbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24/LmtleSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICghY29uZmlndXJhdGlvbj8uc3lzdGVtQ29sdW1uKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5ID0gaGFzaCh7XHJcbiAgICAgIHByZWZpeDogJzhiODA1MGNhLTFmNDQtNDg2MC1iYWQzLTIwZTY0NmMwZDY4ZicsXHJcbiAgICAgIGtleTogY29uZmlndXJhdGlvbi5rZXlcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICB0aGlzLiNjYWNoZVtrZXldID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHZW5lcmF0ZWRDb2x1bW5bXT4oa2V5LCB7XHJcbiAgICAgICAgdHlwZTogJ3NlcnZlcicsXHJcbiAgICAgICAgYXJnczogY29uZmlndXJhdGlvbj8uc3lzdGVtQ29sdW1uPy5hcmdzLFxyXG4gICAgICAgIGRlZmF1bHQ6IFtdXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuI2NhY2hlW2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,14 +1,14 @@
1
1
  var _rootRoute, _subscription, _firstLoad, _closeTab, _activeRoute, _getActivatedRouteSnapshot, _getActivatedRoute;
2
2
  import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectorRef, Compiler, Component, Injector, ViewChild, } from '@angular/core';
4
- import { ActivatedRoute, NavigationEnd, Router, RoutesRecognized, } from '@angular/router';
5
- import { SdNotifyService } from '@sd-angular/core/notify';
6
- import { SdTabActivated, SdTabDeactivated, } from '../../events/tab-router.event';
7
- import { SdTabRouterService } from '../../services/tab-router.service';
8
- import { Subscription } from 'rxjs';
9
- import { SdTabDecoratorService } from '../../services/tab-decorator.service';
10
- import { filter } from 'rxjs/operators';
11
- import * as hash from 'object-hash';
3
+ import { ChangeDetectorRef, Compiler, Component, Injector, ViewChild, } from "@angular/core";
4
+ import { ActivatedRoute, NavigationEnd, Router, RoutesRecognized, } from "@angular/router";
5
+ import { SdNotifyService } from "@sd-angular/core/notify";
6
+ import { SdTabActivated, SdTabDeactivated, } from "../../events/tab-router.event";
7
+ import { SdTabRouterService } from "../../services/tab-router.service";
8
+ import { Subscription } from "rxjs";
9
+ import { SdTabDecoratorService } from "../../services/tab-decorator.service";
10
+ import { filter } from "rxjs/operators";
11
+ import * as hash from "object-hash";
12
12
  export class SdTabRouterOutletComponent {
13
13
  constructor(router, activatedRoute, cd, injector, compiler, tabDecoratorService, tabRouterService, sdNotifyService) {
14
14
  this.router = router;
@@ -30,13 +30,14 @@ export class SdTabRouterOutletComponent {
30
30
  const lastTab = this.tabs[this.tabs.length - 1];
31
31
  if (lastTab) {
32
32
  this.router.navigateByUrl(lastTab.url, {
33
+ queryParams: lastTab.queryParams || {},
33
34
  state: {
34
35
  switchTab: true,
35
36
  },
36
37
  });
37
38
  }
38
39
  else {
39
- this.router.navigateByUrl('/', {
40
+ this.router.navigateByUrl("/", {
40
41
  state: {
41
42
  switchTab: true,
42
43
  },
@@ -57,7 +58,7 @@ export class SdTabRouterOutletComponent {
57
58
  const queryParams = Object.assign({}, (route.queryParams || {}));
58
59
  const params = Object.assign({}, (route.params || {}));
59
60
  const key = hash({ url: fullUrl });
60
- const [url] = fullUrl.split('?');
61
+ const [url] = fullUrl.split("?");
61
62
  let existedIndex = -1;
62
63
  this.tabs.forEach((tab, index) => {
63
64
  if (tab.key === key) {
@@ -78,7 +79,7 @@ export class SdTabRouterOutletComponent {
78
79
  this.tabRouterService.pushEvent(existedTab, SdTabActivated);
79
80
  }
80
81
  else {
81
- if (typeof ((_d = (_c = route === null || route === void 0 ? void 0 : route.parent) === null || _c === void 0 ? void 0 : _c.routeConfig) === null || _d === void 0 ? void 0 : _d.loadChildren) === 'function') {
82
+ if (typeof ((_d = (_c = route === null || route === void 0 ? void 0 : route.parent) === null || _c === void 0 ? void 0 : _c.routeConfig) === null || _d === void 0 ? void 0 : _d.loadChildren) === "function") {
82
83
  const module = yield route.parent.routeConfig.loadChildren();
83
84
  const factory = yield this.compiler.compileModuleAsync(module);
84
85
  const injector = factory.create(this.injector);
@@ -103,7 +104,7 @@ export class SdTabRouterOutletComponent {
103
104
  }
104
105
  (_g = this.tabRouterNav) === null || _g === void 0 ? void 0 : _g.checkUI();
105
106
  if (this.tabs.length > 10) {
106
- this.sdNotifyService.notify.warning('Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.');
107
+ this.sdNotifyService.notify.warning("Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.");
107
108
  }
108
109
  if (this.tabs.length > 12) {
109
110
  this.tabs.splice(0, this.tabs.length - 10);
@@ -135,7 +136,9 @@ export class SdTabRouterOutletComponent {
135
136
  }
136
137
  return null;
137
138
  });
138
- __classPrivateFieldGet(this, _subscription).add(router.events.pipe(filter(event => event instanceof RoutesRecognized || event instanceof NavigationEnd))
139
+ __classPrivateFieldGet(this, _subscription).add(router.events
140
+ .pipe(filter((event) => event instanceof RoutesRecognized ||
141
+ event instanceof NavigationEnd))
139
142
  .subscribe((event) => __awaiter(this, void 0, void 0, function* () {
140
143
  if (__classPrivateFieldGet(this, _firstLoad) && event instanceof NavigationEnd) {
141
144
  __classPrivateFieldSet(this, _firstLoad, false);
@@ -151,7 +154,7 @@ export class SdTabRouterOutletComponent {
151
154
  }
152
155
  })));
153
156
  __classPrivateFieldGet(this, _subscription).add(tabRouterService.actions.subscribe((event) => {
154
- if (event && event.type === 'close') {
157
+ if (event && event.type === "close") {
155
158
  __classPrivateFieldGet(this, _closeTab).call(this, event.tab);
156
159
  }
157
160
  }));
@@ -163,7 +166,7 @@ export class SdTabRouterOutletComponent {
163
166
  _rootRoute = new WeakMap(), _subscription = new WeakMap(), _firstLoad = new WeakMap(), _closeTab = new WeakMap(), _activeRoute = new WeakMap(), _getActivatedRouteSnapshot = new WeakMap(), _getActivatedRoute = new WeakMap();
164
167
  SdTabRouterOutletComponent.decorators = [
165
168
  { type: Component, args: [{
166
- selector: 'sd-tab-router-outlet',
169
+ selector: "sd-tab-router-outlet",
167
170
  template: "<sd-tab-router-nav [tabs]=\"tabs\" #tabRouterNav></sd-tab-router-nav>\r\n\r\n<div class=\"tab-router__list\">\r\n <ng-container *ngFor=\"let tab of tabs\">\r\n <div class=\"tab-router__pane\" [class.active]=\"tab.isActive\" [id]=\"tab.key\">\r\n <div class=\"tab-router__content\">\r\n <ng-container\r\n *ngComponentOutlet=\"tab.component; injector: tab.injector\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
168
171
  styles: [":host{display:flex;flex-direction:column;height:calc(100vh - 64px);width:100%}::ng-deep page-layout{height:100%!important}.tab-router__list{flex:1}.tab-router__pane{display:none;height:100%;position:relative;width:100%}.tab-router__pane.active{display:block}.tab-router__content{bottom:0;height:100%;left:0;overflow:auto;position:absolute;right:0;top:0;width:100%}"]
169
172
  },] }
@@ -179,7 +182,7 @@ SdTabRouterOutletComponent.ctorParameters = () => [
179
182
  { type: SdNotifyService }
180
183
  ];
181
184
  SdTabRouterOutletComponent.propDecorators = {
182
- tabRouterNav: [{ type: ViewChild, args: ['tabRouterNav',] }]
185
+ tabRouterNav: [{ type: ViewChild, args: ["tabRouterNav",] }]
183
186
  };
184
187
  class SdOutletInjector {
185
188
  constructor(route,
@@ -198,4 +201,4 @@ class SdOutletInjector {
198
201
  return this.parent.get(token, notFoundValue);
199
202
  }
200
203
  }
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy90YWItcm91dGVyLW91dGxldC90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUtSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsY0FBYyxFQUtkLGFBQWEsRUFFYixNQUFNLEVBQ04sZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEdBQ2pCLE1BQU0sK0JBQStCLENBQUM7QUFJdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFRcEMsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUNVLE1BQWMsRUFDZCxjQUE4QixFQUM5QixFQUFxQixFQUNyQixRQUFrQixFQUNsQixRQUFrQixFQUNsQixtQkFBMEMsRUFDMUMsZ0JBQW9DLEVBQ3BDLGVBQWdDO1FBUGhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFG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T0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21waWxlcixcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdNb2R1bGVSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBY3RpdmF0ZWRSb3V0ZSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgLy8gQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICBFdmVudCxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIFBSSU1BUllfT1VUTEVULFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXNSZWNvZ25pemVkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuaW1wb3J0IHtcclxuICBTZFRhYkFjdGl2YXRlZCxcclxuICBTZFRhYkRlYWN0aXZhdGVkLFxyXG59IGZyb20gJy4uLy4uL2V2ZW50cy90YWItcm91dGVyLmV2ZW50JztcclxuXHJcbmltcG9ydCB7IFNkVGFiIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYi1yb3V0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYkFjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGFiLXJvdXRlci5hY3Rpb24nO1xyXG5pbXBvcnQgeyBTZFRhYlJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWItcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZFRhYlJvdXRlck5hdkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1yb3V0ZXItbmF2L3RhYi1yb3V0ZXItbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZFRhYkRlY29yYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWItZGVjb3JhdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC10YWItcm91dGVyLW91dGxldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1yb3V0ZXItb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxyXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RUYWJSb3V0ZXJPdXRsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYlJvdXRlck5hdicpIHRhYlJvdXRlck5hdjogU2RUYWJSb3V0ZXJOYXZDb21wb25lbnQ7XHJcbiAgdGFiczogU2RUYWJbXSA9IFtdO1xyXG5cclxuICAjcm9vdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcclxuICAjc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gICNmaXJzdExvYWQgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxyXG4gICAgcHJpdmF0ZSB0YWJEZWNvcmF0b3JTZXJ2aWNlOiBTZFRhYkRlY29yYXRvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRhYlJvdXRlclNlcnZpY2U6IFNkVGFiUm91dGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgc2ROb3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQocm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZShhc3luYyAoZXZlbnQ6IFJvdXRlc1JlY29nbml6ZWQgfCBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuI2ZpcnN0TG9hZCAmJiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgIHRoaXMuI2ZpcnN0TG9hZCA9IGZhbHNlO1xyXG4gICAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLiNnZXRBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QpO1xyXG4gICAgICAgICAgdGhpcy4jcm9vdFJvdXRlID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdDtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuI2FjdGl2ZVJvdXRlKGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzIHx8IGV2ZW50LnVybCwgcm91dGUpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuI2ZpcnN0TG9hZCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQpIHtcclxuICAgICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy4jZ2V0QWN0aXZhdGVkUm91dGVTbmFwc2hvdChldmVudC5zdGF0ZS5yb290KTtcclxuICAgICAgICAgIHRoaXMuI3Jvb3RSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3Q7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLiNhY3RpdmVSb3V0ZShldmVudC51cmxBZnRlclJlZGlyZWN0cyB8fCBldmVudC51cmwsIHJvdXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGFiUm91dGVyU2VydmljZS5hY3Rpb25zLnN1YnNjcmliZSgoZXZlbnQ6IFNkVGFiQWN0aW9uIHwgbnVsbCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ2Nsb3NlJykge1xyXG4gICAgICAgIHRoaXMuI2Nsb3NlVGFiKGV2ZW50LnRhYik7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAjY2xvc2VUYWIgPSAodGFiOiBTZFRhYikgPT4ge1xyXG4gICAgdGhpcy50YWJzID0gdGhpcy50YWJzLmZpbHRlcigoeyBrZXkgfSkgPT4ga2V5ICE9PSB0YWIua2V5KTtcclxuICAgIGlmICh0YWIuaXNBY3RpdmUpIHtcclxuICAgICAgY29uc3QgbGFzdFRhYiA9IHRoaXMudGFic1t0aGlzLnRhYnMubGVuZ3RoIC0gMV07XHJcbiAgICAgIGlmIChsYXN0VGFiKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChsYXN0VGFiLnVybCwge1xyXG4gICAgICAgICAgc3RhdGU6IHtcclxuICAgICAgICAgICAgc3dpdGNoVGFiOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywge1xyXG4gICAgICAgICAgc3RhdGU6IHtcclxuICAgICAgICAgICAgc3dpdGNoVGFiOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJSb3V0ZXJOYXY/LmNoZWNrVUkoKTtcclxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNhY3RpdmVSb3V0ZSA9IGFzeW5jIChmdWxsVXJsOiBzdHJpbmcsIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCkgPT4ge1xyXG4gICAgaWYgKCFyb3V0ZT8uY29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHJvdXRlLmNvbXBvbmVudCBhcyBUeXBlPGFueT47XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgLi4uKHJvdXRlLnF1ZXJ5UGFyYW1zIHx8IHt9KSxcclxuICAgIH07XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLihyb3V0ZS5wYXJhbXMgfHwge30pLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGtleSA9IGhhc2goeyB1cmw6IGZ1bGxVcmwgfSk7XHJcbiAgICBjb25zdCBbdXJsXSA9IGZ1bGxVcmwuc3BsaXQoJz8nKTtcclxuXHJcbiAgICBsZXQgZXhpc3RlZEluZGV4ID0gLTE7XHJcbiAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiOiBTZFRhYiwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAodGFiLmtleSA9PT0ga2V5KSB7XHJcbiAgICAgICAgdGFiLmlzQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICBleGlzdGVkSW5kZXggPSBpbmRleDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGFiLmlzQWN0aXZlKSB7XHJcbiAgICAgICAgICB0aGlzLnRhYlJvdXRlclNlcnZpY2UucHVzaEV2ZW50KHRhYiwgU2RUYWJEZWFjdGl2YXRlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRhYi5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XHJcbiAgICBpZiAoZXhpc3RlZEluZGV4ID49IDAgJiYgY3VycmVudE5hdmlnYXRpb24/LmV4dHJhcz8uc3RhdGU/LnN3aXRjaFRhYikge1xyXG4gICAgICBjb25zdCBleGlzdGVkVGFiID0gdGhpcy50YWJzW2V4aXN0ZWRJbmRleF07XHJcbiAgICAgIHRoaXMudGFiUm91dGVyU2VydmljZS5zZXRDdXJyZW50VGFiKGV4aXN0ZWRUYWIpO1xyXG4gICAgICB0aGlzLnRhYlJvdXRlclNlcnZpY2UucHVzaEV2ZW50KGV4aXN0ZWRUYWIsIFNkVGFiQWN0aXZhdGVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0eXBlb2Ygcm91dGU/LnBhcmVudD8ucm91dGVDb25maWc/LmxvYWRDaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IHJvdXRlLnBhcmVudC5yb3V0ZUNvbmZpZy5sb2FkQ2hpbGRyZW4oKTtcclxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gYXdhaXQgdGhpcy5jb21waWxlci5jb21waWxlTW9kdWxlQXN5bmMobW9kdWxlKTtcclxuICAgICAgICBjb25zdCBpbmplY3RvciA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZFJvdXRlID0gdGhpcy4jZ2V0QWN0aXZhdGVkUm91dGUoXHJcbiAgICAgICAgICB0aGlzLiNyb290Um91dGUsXHJcbiAgICAgICAgICBjb21wb25lbnRcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCB0YWIgPSB7XHJcbiAgICAgICAgICBrZXksXHJcbiAgICAgICAgICBjb21wb25lbnQsXHJcbiAgICAgICAgICBpbmplY3RvcjogbmV3IFNkT3V0bGV0SW5qZWN0b3IoYWN0aXZhdGVkUm91dGUsIGluamVjdG9yKSxcclxuICAgICAgICAgIGlzQWN0aXZlOiB0cnVlLFxyXG4gICAgICAgICAgbmFtZTogdXJsLFxyXG4gICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgcXVlcnlQYXJhbXMsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy50YWJSb3V0ZXJTZXJ2aWNlLnNldEN1cnJlbnRUYWIodGFiKTtcclxuICAgICAgICBpZiAoZXhpc3RlZEluZGV4ID49IDAgJiYgIWN1cnJlbnROYXZpZ2F0aW9uPy5leHRyYXM/LnN0YXRlPy5zd2l0Y2hUYWIpIHtcclxuICAgICAgICAgIHRoaXMudGFic1tleGlzdGVkSW5kZXhdID0gdGFiO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRhYnMucHVzaCh0YWIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy50YWJSb3V0ZXJOYXY/LmNoZWNrVUkoKTtcclxuICAgICAgaWYgKHRoaXMudGFicy5sZW5ndGggPiAxMCkge1xyXG4gICAgICAgIHRoaXMuc2ROb3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKFxyXG4gICAgICAgICAgJ0LhuqFuIMSRw6MgbeG7nyBxdcOhIG5oaeG7gXUgdGFiLiBWdWkgbMOybmcgdOG6r3QgY8OhYyB0YWIga2jDtG5nIGTDuW5nIMSR4buDIGjhu4cgdGjhu5FuZyBob+G6oXQgxJHhu5luZyB04buRdCBoxqFuLidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoID4gMTIpIHtcclxuICAgICAgICB0aGlzLnRhYnMuc3BsaWNlKDAsIHRoaXMudGFicy5sZW5ndGggLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICAjZ2V0QWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IChcclxuICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICApOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9PiB7XHJcbiAgICBpZiAoIWFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICB3aGlsZSAoYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5maXJzdENoaWxkKSB7XHJcbiAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LmZpcnN0Q2hpbGQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcclxuICB9XHJcblxyXG4gICNnZXRBY3RpdmF0ZWRSb3V0ZSA9IChcclxuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIGNvbXBvbmVudDogYW55XHJcbiAgKTogQWN0aXZhdGVkUm91dGUgfCBudWxsID0+IHtcclxuICAgIGlmICghYWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCAmJiBhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQgPT09IGNvbXBvbmVudCkge1xyXG4gICAgICByZXR1cm4gYWN0aXZhdGVkUm91dGU7XHJcbiAgICB9XHJcbiAgICB3aGlsZSAoYWN0aXZhdGVkUm91dGUuZmlyc3RDaGlsZCkge1xyXG4gICAgICBhY3RpdmF0ZWRSb3V0ZSA9IGFjdGl2YXRlZFJvdXRlLmZpcnN0Q2hpbGQ7XHJcbiAgICAgIGlmIChhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQgJiYgYWN0aXZhdGVkUm91dGUuY29tcG9uZW50ID09PSBjb21wb25lbnQpIHtcclxuICAgICAgICByZXR1cm4gYWN0aXZhdGVkUm91dGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgU2RPdXRsZXRJbmplY3RvciBpbXBsZW1lbnRzIEluamVjdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlIHwgbnVsbCxcclxuICAgIC8vIHByaXZhdGUgY2hpbGRDb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAgIHByaXZhdGUgcGFyZW50OiBhbnlcclxuICApIHsgfVxyXG5cclxuICBnZXQodG9rZW46IGFueSwgbm90Rm91bmRWYWx1ZT86IGFueSk6IGFueSB7XHJcbiAgICBpZiAodG9rZW4gPT09IEFjdGl2YXRlZFJvdXRlICYmIHRoaXMucm91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgKHRva2VuID09PSBDaGlsZHJlbk91dGxldENvbnRleHRzKSB7XHJcbiAgICAvLyAgIHJldHVybiB0aGlzLmNoaWxkQ29udGV4dHM7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldCh0b2tlbiwgbm90Rm91bmRWYWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy90YWItcm91dGVyLW91dGxldC90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUtSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsY0FBYyxFQUtkLGFBQWEsRUFFYixNQUFNLEVBQ04sZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEdBQ2pCLE1BQU0sK0JBQStCLENBQUM7QUFJdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFRcEMsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUNVLE1BQWMsRUFDZCxjQUE4QixFQUM5QixFQUFxQixFQUNyQixRQUFrQixFQUNsQixRQUFrQixFQUNsQixtQkFBMEMsRUFDMUMsZ0JBQW9DLEVBQ3BDLGVBQWdDO1FBUGhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFG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QUM7U0FDbkI7UUFFRCwwQ0FBMEM7UUFDMUMsK0JBQStCO1FBQy9CLElBQUk7UUFFSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBpbGVyLFxyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3RvcixcclxuICBOZ01vZHVsZVJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFR5cGUsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQWN0aXZhdGVkUm91dGUsXHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBDaGlsZHJlbk91dGxldENvbnRleHRzLFxyXG4gIC8vIENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgRXZlbnQsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBQUklNQVJZX09VVExFVCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVzUmVjb2duaXplZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gXCJAc2QtYW5ndWxhci9jb3JlL25vdGlmeVwiO1xyXG5pbXBvcnQge1xyXG4gIFNkVGFiQWN0aXZhdGVkLFxyXG4gIFNkVGFiRGVhY3RpdmF0ZWQsXHJcbn0gZnJvbSBcIi4uLy4uL2V2ZW50cy90YWItcm91dGVyLmV2ZW50XCI7XHJcblxyXG5pbXBvcnQgeyBTZFRhYiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGFiLXJvdXRlci5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTZFRhYkFjdGlvbiB9IGZyb20gXCIuLi8uLi9hY3Rpb25zL3RhYi1yb3V0ZXIuYWN0aW9uXCI7XHJcbmltcG9ydCB7IFNkVGFiUm91dGVyU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90YWItcm91dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2RUYWJSb3V0ZXJOYXZDb21wb25lbnQgfSBmcm9tIFwiLi4vdGFiLXJvdXRlci1uYXYvdGFiLXJvdXRlci1uYXYuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFNkVGFiRGVjb3JhdG9yU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90YWItZGVjb3JhdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCAqIGFzIGhhc2ggZnJvbSBcIm9iamVjdC1oYXNoXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzZC10YWItcm91dGVyLW91dGxldFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFiLXJvdXRlci1vdXRsZXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdGFiLXJvdXRlci1vdXRsZXQuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFRhYlJvdXRlck91dGxldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInRhYlJvdXRlck5hdlwiKSB0YWJSb3V0ZXJOYXY6IFNkVGFiUm91dGVyTmF2Q29tcG9uZW50O1xyXG4gIHRhYnM6IFNkVGFiW10gPSBbXTtcclxuXHJcbiAgI3Jvb3RSb3V0ZTogQWN0aXZhdGVkUm91dGU7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAjZmlyc3RMb2FkID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlcixcclxuICAgIHByaXZhdGUgdGFiRGVjb3JhdG9yU2VydmljZTogU2RUYWJEZWNvcmF0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0YWJSb3V0ZXJTZXJ2aWNlOiBTZFRhYlJvdXRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNkTm90aWZ5U2VydmljZTogU2ROb3RpZnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICByb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICAgIChldmVudCkgPT5cclxuICAgICAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQgfHxcclxuICAgICAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmRcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZShhc3luYyAoZXZlbnQ6IFJvdXRlc1JlY29nbml6ZWQgfCBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy4jZmlyc3RMb2FkICYmIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICB0aGlzLiNmaXJzdExvYWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLiNnZXRBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KFxyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3RcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy4jcm9vdFJvdXRlID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdDtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy4jYWN0aXZlUm91dGUoXHJcbiAgICAgICAgICAgICAgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgfHwgZXZlbnQudXJsLFxyXG4gICAgICAgICAgICAgIHJvdXRlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghdGhpcy4jZmlyc3RMb2FkICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVzUmVjb2duaXplZCkge1xyXG4gICAgICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuI2dldEFjdGl2YXRlZFJvdXRlU25hcHNob3QoZXZlbnQuc3RhdGUucm9vdCk7XHJcbiAgICAgICAgICAgIHRoaXMuI3Jvb3RSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3Q7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuI2FjdGl2ZVJvdXRlKFxyXG4gICAgICAgICAgICAgIGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzIHx8IGV2ZW50LnVybCxcclxuICAgICAgICAgICAgICByb3V0ZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRhYlJvdXRlclNlcnZpY2UuYWN0aW9ucy5zdWJzY3JpYmUoKGV2ZW50OiBTZFRhYkFjdGlvbiB8IG51bGwpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gXCJjbG9zZVwiKSB7XHJcbiAgICAgICAgICB0aGlzLiNjbG9zZVRhYihldmVudC50YWIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgI2Nsb3NlVGFiID0gKHRhYjogU2RUYWIpID0+IHtcclxuICAgIHRoaXMudGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHsga2V5IH0pID0+IGtleSAhPT0gdGFiLmtleSk7XHJcbiAgICBpZiAodGFiLmlzQWN0aXZlKSB7XHJcbiAgICAgIGNvbnN0IGxhc3RUYWIgPSB0aGlzLnRhYnNbdGhpcy50YWJzLmxlbmd0aCAtIDFdO1xyXG4gICAgICBpZiAobGFzdFRhYikge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobGFzdFRhYi51cmwsIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBsYXN0VGFiLnF1ZXJ5UGFyYW1zIHx8IHt9LFxyXG4gICAgICAgICAgc3RhdGU6IHtcclxuICAgICAgICAgICAgc3dpdGNoVGFiOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL1wiLCB7XHJcbiAgICAgICAgICBzdGF0ZToge1xyXG4gICAgICAgICAgICBzd2l0Y2hUYWI6IHRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYlJvdXRlck5hdj8uY2hlY2tVSSgpO1xyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gICNhY3RpdmVSb3V0ZSA9IGFzeW5jIChcclxuICAgIGZ1bGxVcmw6IHN0cmluZyxcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbFxyXG4gICkgPT4ge1xyXG4gICAgaWYgKCFyb3V0ZT8uY29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHJvdXRlLmNvbXBvbmVudCBhcyBUeXBlPGFueT47XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgLi4uKHJvdXRlLnF1ZXJ5UGFyYW1zIHx8IHt9KSxcclxuICAgIH07XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLihyb3V0ZS5wYXJhbXMgfHwge30pLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGtleSA9IGhhc2goeyB1cmw6IGZ1bGxVcmwgfSk7XHJcbiAgICBjb25zdCBbdXJsXSA9IGZ1bGxVcmwuc3BsaXQoXCI/XCIpO1xyXG5cclxuICAgIGxldCBleGlzdGVkSW5kZXggPSAtMTtcclxuICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWI6IFNkVGFiLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmICh0YWIua2V5ID09PSBrZXkpIHtcclxuICAgICAgICB0YWIuaXNBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGV4aXN0ZWRJbmRleCA9IGluZGV4O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0YWIuaXNBY3RpdmUpIHtcclxuICAgICAgICAgIHRoaXMudGFiUm91dGVyU2VydmljZS5wdXNoRXZlbnQodGFiLCBTZFRhYkRlYWN0aXZhdGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGFiLmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnROYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcclxuICAgIGlmIChleGlzdGVkSW5kZXggPj0gMCAmJiBjdXJyZW50TmF2aWdhdGlvbj8uZXh0cmFzPy5zdGF0ZT8uc3dpdGNoVGFiKSB7XHJcbiAgICAgIGNvbnN0IGV4aXN0ZWRUYWIgPSB0aGlzLnRhYnNbZXhpc3RlZEluZGV4XTtcclxuICAgICAgdGhpcy50YWJSb3V0ZXJTZXJ2aWNlLnNldEN1cnJlbnRUYWIoZXhpc3RlZFRhYik7XHJcbiAgICAgIHRoaXMudGFiUm91dGVyU2VydmljZS5wdXNoRXZlbnQoZXhpc3RlZFRhYiwgU2RUYWJBY3RpdmF0ZWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHR5cGVvZiByb3V0ZT8ucGFyZW50Py5yb3V0ZUNvbmZpZz8ubG9hZENoaWxkcmVuID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCByb3V0ZS5wYXJlbnQucm91dGVDb25maWcubG9hZENoaWxkcmVuKCk7XHJcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKG1vZHVsZSk7XHJcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuI2dldEFjdGl2YXRlZFJvdXRlKFxyXG4gICAgICAgICAgdGhpcy4jcm9vdFJvdXRlLFxyXG4gICAgICAgICAgY29tcG9uZW50XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGFiID0ge1xyXG4gICAgICAgICAga2V5LFxyXG4gICAgICAgICAgY29tcG9uZW50LFxyXG4gICAgICAgICAgaW5qZWN0b3I6IG5ldyBTZE91dGxldEluamVjdG9yKGFjdGl2YXRlZFJvdXRlLCBpbmplY3RvciksXHJcbiAgICAgICAgICBpc0FjdGl2ZTogdHJ1ZSxcclxuICAgICAgICAgIG5hbWU6IHVybCxcclxuICAgICAgICAgIHVybCxcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMudGFiUm91dGVyU2VydmljZS5zZXRDdXJyZW50VGFiKHRhYik7XHJcbiAgICAgICAgaWYgKGV4aXN0ZWRJbmRleCA+PSAwICYmICFjdXJyZW50TmF2aWdhdGlvbj8uZXh0cmFzPy5zdGF0ZT8uc3dpdGNoVGFiKSB7XHJcbiAgICAgICAgICB0aGlzLnRhYnNbZXhpc3RlZEluZGV4XSA9IHRhYjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50YWJzLnB1c2godGFiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudGFiUm91dGVyTmF2Py5jaGVja1VJKCk7XHJcbiAgICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoID4gMTApIHtcclxuICAgICAgICB0aGlzLnNkTm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZyhcclxuICAgICAgICAgIFwiQuG6oW4gxJHDoyBt4bufIHF1w6Egbmhp4buBdSB0YWIuIFZ1aSBsw7JuZyB04bqvdCBjw6FjIHRhYiBraMO0bmcgZMO5bmcgxJHhu4MgaOG7hyB0aOG7kW5nIGhv4bqhdCDEkeG7mW5nIHThu5F0IGjGoW4uXCJcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoID4gMTIpIHtcclxuICAgICAgICB0aGlzLnRhYnMuc3BsaWNlKDAsIHRoaXMudGFicy5sZW5ndGggLSAxMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgfTtcclxuXHJcbiAgI2dldEFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSAoXHJcbiAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgKTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwgPT4ge1xyXG4gICAgaWYgKCFhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgd2hpbGUgKGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCkge1xyXG4gICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5maXJzdENoaWxkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q7XHJcbiAgfTtcclxuXHJcbiAgI2dldEFjdGl2YXRlZFJvdXRlID0gKFxyXG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgY29tcG9uZW50OiBhbnlcclxuICApOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwgPT4ge1xyXG4gICAgaWYgKCFhY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYWN0aXZhdGVkUm91dGUuY29tcG9uZW50ICYmIGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybiBhY3RpdmF0ZWRSb3V0ZTtcclxuICAgIH1cclxuICAgIHdoaWxlIChhY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkKSB7XHJcbiAgICAgIGFjdGl2YXRlZFJvdXRlID0gYWN0aXZhdGVkUm91dGUuZmlyc3RDaGlsZDtcclxuICAgICAgaWYgKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCAmJiBhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQgPT09IGNvbXBvbmVudCkge1xyXG4gICAgICAgIHJldHVybiBhY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxufVxyXG5cclxuY2xhc3MgU2RPdXRsZXRJbmplY3RvciBpbXBsZW1lbnRzIEluamVjdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlIHwgbnVsbCxcclxuICAgIC8vIHByaXZhdGUgY2hpbGRDb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAgIHByaXZhdGUgcGFyZW50OiBhbnlcclxuICApIHt9XHJcblxyXG4gIGdldCh0b2tlbjogYW55LCBub3RGb3VuZFZhbHVlPzogYW55KTogYW55IHtcclxuICAgIGlmICh0b2tlbiA9PT0gQWN0aXZhdGVkUm91dGUgJiYgdGhpcy5yb3V0ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBpZiAodG9rZW4gPT09IENoaWxkcmVuT3V0bGV0Q29udGV4dHMpIHtcclxuICAgIC8vICAgcmV0dXJuIHRoaXMuY2hpbGRDb250ZXh0cztcclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZ2V0KHRva2VuLCBub3RGb3VuZFZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19