@wavemaker/app-ng-runtime 11.9.0-next.27458 → 11.9.0-next.27462

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 (46) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +4 -4
  2. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -2
  6. app-ng-runtime/build-task/fesm2022/index.mjs +4 -4
  7. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  8. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  9. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  10. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  11. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  12. app-ng-runtime/components/basic/default/bundles/index.umd.js +1 -1
  13. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -2
  14. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  15. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +2 -1
  16. app-ng-runtime/components/basic/default/fesm2022/index.mjs +1 -1
  17. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  18. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  19. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +3 -3
  20. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +4 -4
  21. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +3 -3
  22. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  23. app-ng-runtime/components/input/default/bundles/index.umd.js +25 -19
  24. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +14 -9
  25. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +13 -12
  26. app-ng-runtime/components/input/default/fesm2022/index.mjs +25 -19
  27. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  28. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +5 -4
  29. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +6 -5
  30. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +5 -4
  31. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  32. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +2 -2
  33. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +3 -3
  34. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +2 -2
  35. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  36. app-ng-runtime/components/navigation/popover/popover.component.d.ts +2 -0
  37. app-ng-runtime/core/bundles/index.umd.js +5 -5
  38. app-ng-runtime/core/esm2022/utils/build-utils.mjs +6 -6
  39. app-ng-runtime/core/fesm2022/index.mjs +5 -5
  40. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  41. app-ng-runtime/package.json +1 -1
  42. app-ng-runtime/runtime/base/bundles/index.umd.js +3 -2
  43. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +4 -3
  44. app-ng-runtime/runtime/base/fesm2022/index.mjs +3 -2
  45. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  46. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
@@ -207,7 +207,7 @@
207
207
  tagName$1v = 'label';
208
208
  }
209
209
  const counter = idGen$q.nextUid();
210
- return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.arialabel" ${transpiler.getAttrMarkup(attrs)}>`;
210
+ return `<${tagName$1v} wmLabel #${counter}="wmLabel" ${transpiler.getAttrMarkup(attrs)}>`;
211
211
  },
212
212
  post: () => `</${tagName$1v}>`
213
213
  };
@@ -225,7 +225,7 @@
225
225
  return {
226
226
  pre: (attrs) => {
227
227
  const counter = idGen$p.nextUid();
228
- return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${transpiler.getAttrMarkup(attrs)}>`;
228
+ return `<${tagName$1u} wmPicture #${counter}="wmPicture" [alt]="${counter}.alttext" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${transpiler.getAttrMarkup(attrs)}>`;
229
229
  }
230
230
  };
231
231
  });
@@ -682,7 +682,7 @@
682
682
  const tagName$17 = 'div';
683
683
  transpiler.register('wm-tile', () => {
684
684
  return {
685
- pre: attrs => `<${tagName$17} wmTile aria-describedby="Tile" wm-navigable-element="true" ${transpiler.getAttrMarkup(attrs)}>`,
685
+ pre: attrs => `<${tagName$17} wmTile wm-navigable-element="true" ${transpiler.getAttrMarkup(attrs)}>`,
686
686
  post: () => `</${tagName$17}>`
687
687
  };
688
688
  });
@@ -1073,7 +1073,7 @@
1073
1073
  const dataRole = isFormField ? 'form-field' : 'filter-field';
1074
1074
  const formFieldErrorMsgId = 'wmform-field-error-' + core.generateGUId();
1075
1075
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
1076
- class="help-block text-danger" aria-hidden="false"
1076
+ class="help-block text-danger" aria-hidden="false" role="alert"
1077
1077
  aria-live="assertive" [attr.aria-label]="${counter}.validationmessage" id="${formFieldErrorMsgId}"><span aria-hidden="true" [textContent]="${counter}.validationmessage"></span></p>` : '';
1078
1078
  const eventsTmpl = widgetType === core.FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
1079
1079
  const controlLayout = core.isMobileApp() ? 'col-xs-12' : 'col-sm-12';
@@ -16,10 +16,10 @@ register('wm-label', () => {
16
16
  tagName = 'label';
17
17
  }
18
18
  const counter = idGen.nextUid();
19
- return `<${tagName} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.arialabel" ${getAttrMarkup(attrs)}>`;
19
+ return `<${tagName} wmLabel #${counter}="wmLabel" ${getAttrMarkup(attrs)}>`;
20
20
  },
21
21
  post: () => `</${tagName}>`
22
22
  };
23
23
  });
24
24
  export default () => { };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYmFzaWMvZGVmYXVsdC9sYWJlbC9sYWJlbC5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFpQixRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUUxQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQWtCLEVBQUU7SUFDckMsT0FBTztRQUNILEdBQUcsRUFBRSxDQUFDLEtBQVMsRUFBRSxFQUFFO1lBQ2YsSUFBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsSUFBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQztvQkFDM0IsTUFBTSxTQUFTLEdBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO29CQUMvSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2dCQUNMLE9BQU8sR0FBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQ0csQ0FBQztnQkFDRCxPQUFPLEdBQUMsT0FBTyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFJLE9BQU8sYUFBYSxPQUFPLGlDQUFpQyxPQUFPLGVBQWUsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDekgsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0QXR0ck1hcmt1cCwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7SURHZW5lcmF0b3J9IGZyb20gXCJAd20vY29yZVwiO1xuXG5sZXQgdGFnTmFtZSA9ICdwJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCd3bV9sYWJlbCcpO1xuXG5yZWdpc3Rlcignd20tbGFiZWwnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnM6YW55KSA9PiB7XG4gICAgICAgICAgICBpZighYXR0cnMuZ2V0KFwibm90YWdcIikpe1xuICAgICAgICAgICAgICAgIGlmKCFhdHRycy5nZXQoJ3R5cGUnKSl7XG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3Q9YXR0cnMuZ2V0KCdjbGFzcycpID8gYXR0cnMuZ2V0KCdjbGFzcycpLnNwbGl0KCcgJykuZmlsdGVyKGVsZW1lbnQgPT4gW1wiaDFcIixcImgyXCIsXCJoM1wiLFwiaDRcIixcImg1XCIsXCJoNlwiLFwicFwiXS5pbmNsdWRlcyhlbGVtZW50KSk6W107XG4gICAgICAgICAgICBhdHRycy5zZXQoJ3R5cGUnLGNsYXNzTGlzdC5sZW5ndGggPyBjbGFzc0xpc3RbMF0gOiAgXCJwXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhZ05hbWU9IGF0dHJzLmdldCgndHlwZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICB0YWdOYW1lPSdsYWJlbCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSB3bUxhYmVsICMke2NvdW50ZXJ9PVwid21MYWJlbFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJHtjb3VudGVyfS5hcmlhbGFiZWxcIiAke2dldEF0dHJNYXJrdXAoYXR0cnMpfT5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmBcbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYmFzaWMvZGVmYXVsdC9sYWJlbC9sYWJlbC5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFpQixRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUUxQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQWtCLEVBQUU7SUFDckMsT0FBTztRQUNILEdBQUcsRUFBRSxDQUFDLEtBQVMsRUFBRSxFQUFFO1lBQ2YsSUFBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsSUFBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQztvQkFDM0IsTUFBTSxTQUFTLEdBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO29CQUMvSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2dCQUNMLE9BQU8sR0FBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQ0csQ0FBQztnQkFDRCxPQUFPLEdBQUMsT0FBTyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsT0FBTyxJQUFJLE9BQU8sYUFBYSxPQUFPLGNBQWMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDaEYsQ0FBQztRQUNELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLE9BQU8sR0FBRztLQUM5QixDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0QXR0ck1hcmt1cCwgSUJ1aWxkVGFza0RlZiwgcmVnaXN0ZXJ9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7SURHZW5lcmF0b3J9IGZyb20gXCJAd20vY29yZVwiO1xuXG5sZXQgdGFnTmFtZSA9ICdwJztcbmNvbnN0IGlkR2VuID0gbmV3IElER2VuZXJhdG9yKCd3bV9sYWJlbCcpO1xuXG5yZWdpc3Rlcignd20tbGFiZWwnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnM6YW55KSA9PiB7XG4gICAgICAgICAgICBpZighYXR0cnMuZ2V0KFwibm90YWdcIikpe1xuICAgICAgICAgICAgICAgIGlmKCFhdHRycy5nZXQoJ3R5cGUnKSl7XG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3Q9YXR0cnMuZ2V0KCdjbGFzcycpID8gYXR0cnMuZ2V0KCdjbGFzcycpLnNwbGl0KCcgJykuZmlsdGVyKGVsZW1lbnQgPT4gW1wiaDFcIixcImgyXCIsXCJoM1wiLFwiaDRcIixcImg1XCIsXCJoNlwiLFwicFwiXS5pbmNsdWRlcyhlbGVtZW50KSk6W107XG4gICAgICAgICAgICBhdHRycy5zZXQoJ3R5cGUnLGNsYXNzTGlzdC5sZW5ndGggPyBjbGFzc0xpc3RbMF0gOiAgXCJwXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhZ05hbWU9IGF0dHJzLmdldCgndHlwZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICB0YWdOYW1lPSdsYWJlbCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgcmV0dXJuIGA8JHt0YWdOYW1lfSB3bUxhYmVsICMke2NvdW50ZXJ9PVwid21MYWJlbFwiICR7Z2V0QXR0ck1hcmt1cChhdHRycyl9PmA7XG4gICAgICAgIH0sXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8LyR7dGFnTmFtZX0+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -6,9 +6,9 @@ register('wm-picture', () => {
6
6
  return {
7
7
  pre: (attrs) => {
8
8
  const counter = idGen.nextUid();
9
- return `<${tagName} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${getAttrMarkup(attrs)}>`;
9
+ return `<${tagName} wmPicture #${counter}="wmPicture" [alt]="${counter}.alttext" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${getAttrMarkup(attrs)}>`;
10
10
  }
11
11
  };
12
12
  });
13
13
  export default () => { };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9kZWZhdWx0L3BpY3R1cmUvcGljdHVyZS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFpQixRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUU1QyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQWtCLEVBQUU7SUFDdkMsT0FBTztRQUNILEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1gsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxPQUFPLGVBQWUsT0FBTywwQ0FBMEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLHdCQUF3QixPQUFPLDBCQUEwQixhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNyTSxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxuY29uc3QgdGFnTmFtZSA9ICdpbWcnO1xuY29uc3QgaWRHZW4gPSBuZXcgSURHZW5lcmF0b3IoJ3dtX3BpY3R1cmUnKTtcblxucmVnaXN0ZXIoJ3dtLXBpY3R1cmUnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IHdtUGljdHVyZSAjJHtjb3VudGVyfT1cIndtUGljdHVyZVwiIGFsdD1cImltYWdlXCIgd21JbWFnZUNhY2hlPVwiJHthdHRycy5nZXQoJ29mZmxpbmUnKSB8fCAndHJ1ZSd9XCIgW2F0dHIuYXJpYS1sYWJlbF09XCIke2NvdW50ZXJ9LmFyaWFsYWJlbCB8fCAnSW1hZ2UnXCIgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YDtcbiAgICAgICAgfVxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9iYXNpYy9kZWZhdWx0L3BpY3R1cmUvcGljdHVyZS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFpQixRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUU1QyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQWtCLEVBQUU7SUFDdkMsT0FBTztRQUNILEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1gsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxPQUFPLGVBQWUsT0FBTyx1QkFBdUIsT0FBTywyQkFBMkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLHdCQUF3QixPQUFPLDBCQUEwQixhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNwTixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge0lER2VuZXJhdG9yfSBmcm9tIFwiQHdtL2NvcmVcIjtcblxuY29uc3QgdGFnTmFtZSA9ICdpbWcnO1xuY29uc3QgaWRHZW4gPSBuZXcgSURHZW5lcmF0b3IoJ3dtX3BpY3R1cmUnKTtcblxucmVnaXN0ZXIoJ3dtLXBpY3R1cmUnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiAoYXR0cnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBpZEdlbi5uZXh0VWlkKCk7XG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IHdtUGljdHVyZSAjJHtjb3VudGVyfT1cIndtUGljdHVyZVwiIFthbHRdPVwiJHtjb3VudGVyfS5hbHR0ZXh0XCIgd21JbWFnZUNhY2hlPVwiJHthdHRycy5nZXQoJ29mZmxpbmUnKSB8fCAndHJ1ZSd9XCIgW2F0dHIuYXJpYS1sYWJlbF09XCIke2NvdW50ZXJ9LmFyaWFsYWJlbCB8fCAnSW1hZ2UnXCIgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YDtcbiAgICAgICAgfVxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
@@ -2,9 +2,9 @@ import { getAttrMarkup, register } from '@wm/transpiler';
2
2
  const tagName = 'div';
3
3
  register('wm-tile', () => {
4
4
  return {
5
- pre: attrs => `<${tagName} wmTile aria-describedby="Tile" wm-navigable-element="true" ${getAttrMarkup(attrs)}>`,
5
+ pre: attrs => `<${tagName} wmTile wm-navigable-element="true" ${getAttrMarkup(attrs)}>`,
6
6
  post: () => `</${tagName}>`
7
7
  };
8
8
  });
9
9
  export default () => { };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9jb250YWluZXJzL3RpbGUvdGlsZS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFpQixRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxNQUFPLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFFdkIsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFrQixFQUFFO0lBQ3BDLE9BQU87UUFDSCxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sK0RBQStELGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRztRQUMvRyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBdHRyTWFya3VwLCBJQnVpbGRUYXNrRGVmLCByZWdpc3RlciB9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcblxuY29uc3QgIHRhZ05hbWUgPSAnZGl2JztcblxucmVnaXN0ZXIoJ3dtLXRpbGUnLCAoKTogSUJ1aWxkVGFza0RlZiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJlOiBhdHRycyA9PiBgPCR7dGFnTmFtZX0gd21UaWxlIGFyaWEtZGVzY3JpYmVkYnk9XCJUaWxlXCIgd20tbmF2aWdhYmxlLWVsZW1lbnQ9XCJ0cnVlXCIgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YCxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHt0YWdOYW1lfT5gXG4gICAgfTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9jb250YWluZXJzL3RpbGUvdGlsZS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFpQixRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxNQUFPLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFFdkIsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFrQixFQUFFO0lBQ3BDLE9BQU87UUFDSCxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sdUNBQXVDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRztRQUN2RixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxPQUFPLEdBQUc7S0FDOUIsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEF0dHJNYXJrdXAsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5cbmNvbnN0ICB0YWdOYW1lID0gJ2Rpdic7XG5cbnJlZ2lzdGVyKCd3bS10aWxlJywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZTogYXR0cnMgPT4gYDwke3RhZ05hbWV9IHdtVGlsZSB3bS1uYXZpZ2FibGUtZWxlbWVudD1cInRydWVcIiAke2dldEF0dHJNYXJrdXAoYXR0cnMpfT5gLFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmBcbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
@@ -109,7 +109,7 @@ const registerFormField = (isFormField) => {
109
109
  const dataRole = isFormField ? 'form-field' : 'filter-field';
110
110
  const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();
111
111
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
112
- class="help-block text-danger" aria-hidden="false"
112
+ class="help-block text-danger" aria-hidden="false" role="alert"
113
113
  aria-live="assertive" [attr.aria-label]="${counter}.validationmessage" id="${formFieldErrorMsgId}"><span aria-hidden="true" [textContent]="${counter}.validationmessage"></span></p>` : '';
114
114
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
115
115
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
@@ -157,4 +157,4 @@ const registerFormField = (isFormField) => {
157
157
  register('wm-form-field', registerFormField.bind(this, true));
158
158
  register('wm-filter-field', registerFormField.bind(this, false));
159
159
  export default () => { };
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsV0FBVyxFQUNkLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTVDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDMUIsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7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QUFPO2tDQUMvRixhQUFhOzsrQkFFaEIsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHO1FBQzNCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUEwQixFQUFZLEVBQUU7WUFDOUMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDN0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUVqRSxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0Rm9ybU1hcmt1cEF0dHIsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge1xuICAgIEZvcm1XaWRnZXRUeXBlLFxuICAgIGdlbmVyYXRlR1VJZCxcbiAgICBnZXRGb3JtV2lkZ2V0VGVtcGxhdGUsXG4gICAgZ2V0UmVxdWlyZWRGb3JtV2lkZ2V0LFxuICAgIElER2VuZXJhdG9yLFxuICAgIGlzTW9iaWxlQXBwXG59IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHtBTExGSUVMRFMsIGlzRGF0YVNldFdpZGdldH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbHMnO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5jb25zdCBpZEdlbiA9IG5ldyBJREdlbmVyYXRvcignZm9ybWZpZWxkXycpO1xuXG5jb25zdCBnZXRFdmVudHNUZW1wbGF0ZSA9IChhdHRycykgPT4ge1xuICAgIGNvbnN0IGV2ZW50QXR0cnMgPSBuZXcgTWFwKCk7XG4gICAgaWYgKCFhdHRycy5oYXMoJ2ZvY3VzLmV2ZW50JykpIHtcbiAgICAgICAgYXR0cnMuc2V0KCdmb2N1cy5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgaWYgKCFhdHRycy5oYXMoJ2JsdXIuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2JsdXIuZXZlbnQnLCAnJyk7XG4gICAgfVxuICAgIGF0dHJzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICBpZiAoa2V5LmVuZHNXaXRoKCcuZXZlbnQnKSkge1xuICAgICAgICAgICBpZiAoa2V5ID09PSAnZm9jdXMuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25Gb2N1c0ZpZWxkKCRldmVudCk7JHt2YWx1ZX1gO1xuICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2JsdXIuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25CbHVyRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH1cbiAgICAgICAgICAgZXZlbnRBdHRycy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgIGF0dHJzLmRlbGV0ZShrZXkpO1xuICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZ2V0Rm9ybU1hcmt1cEF0dHIoZXZlbnRBdHRycyk7XG59O1xuXG5jb25zdCBERUZBVUxUX1BMQUNFSE9MREVSUyA9IG5ldyBNYXAoW1xuICAgIFtGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsIFsnU2VsZWN0IE1pbiB2YWx1ZScsICdTZWxlY3QgTWF4IHZhbHVlJywgJ1NlbGVjdCB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIFsnU2VsZWN0IE1pbiBkYXRlIHRpbWUnLCAnU2VsZWN0IE1heCBkYXRlIHRpbWUnLCAnU2VsZWN0IGRhdGUgdGltZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVElNRSwgWydTZWxlY3QgTWluIHRpbWUnLCAnU2VsZWN0IE1heCB0aW1lJywgJ1NlbGVjdCB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFLCBbJ1NlbGVjdCBNaW4gZGF0ZScsICdTZWxlY3QgTWF4IGRhdGUnLCAnU2VsZWN0IGRhdGUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFRBUkVBLCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlJJQ0hURVhULCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNPTE9SUElDS0VSLCBbJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InLCAnU2VsZWN0IENvbG9yJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DSElQUywgWycnLCAnJywgJ1R5cGUgaGVyZS4uLiddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUEFTU1dPUkQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuTlVNQkVSLCBbJ0VudGVyIE1pbiB2YWx1ZScsICdFbnRlciBNYXggdmFsdWUnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ1VSUkVOQ1ksIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQVVUT0NPTVBMRVRFLCBbJycsICcnLCAnU2VhcmNoJ11dLFxuXSk7XG5cbmNvbnN0IHNldERlZmF1bHRQbGFjZWhvbGRlciA9IChhdHRycywgd2lkZ2V0VHlwZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwcm9wID0gaW5kZXggPT09IDEgPyAnbWF4cGxhY2Vob2xkZXInIDogJ3BsYWNlaG9sZGVyJztcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSBhdHRycy5nZXQocHJvcCk7XG4gICAgaWYgKHBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyID09PSAnJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpICYmIERFRkFVTFRfUExBQ0VIT0xERVJTLmdldCh3aWRnZXRUeXBlKVtpbmRleF07XG4gICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIGF0dHJzLnNldChwcm9wLCBwbGFjZWhvbGRlcik7XG4gICAgfVxufTtcblxuY29uc3QgZ2V0V2lkZ2V0VGVtcGxhdGUgPSAoYXR0cnMsIG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBuYW1lID0gYXR0cnMuZ2V0KCduYW1lJyk7XG4gICAgY29uc3QgZmllbGROYW1lID0gKGF0dHJzLmdldCgna2V5JykgfHwgbmFtZSB8fCAnJykudHJpbSgpO1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gb3B0aW9ucy5pc01heFdpZGdldCA/IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1fbWF4XCJgIDogKG9wdGlvbnMuaXNJbkxpc3QgPyBgW2Zvcm1Db250cm9sTmFtZV09XCIke29wdGlvbnMuY291bnRlcn0uX2ZpZWxkTmFtZVwiYCA6IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1cImApO1xuICAgIGNvbnN0IHRtcGxSZWYgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYCNmb3JtV2lkZ2V0TWF4YCA6IGAjZm9ybVdpZGdldGA7XG4gICAgY29uc3Qgd2lkZ2V0TmFtZSA9IG5hbWUgPyAob3B0aW9ucy5pc01heFdpZGdldCA/IGBuYW1lPVwiJHtuYW1lfV9mb3JtV2lkZ2V0TWF4XCJgIDogYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRcImApIDogJyc7XG4gICAgY29uc3QgY29uZGl0aW9uYWxDbGFzcyA9IGBbbmdDbGFzc109XCIke2F0dHJzLmdldCgnbmdjbGFzcycpfVwiYDtcbiAgICBjb25zdCBkZWZhdWx0VG1wbCA9IGBbY2xhc3MuaGlkZGVuXT1cIiEke29wdGlvbnMucENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke29wdGlvbnMuY291bnRlcn0udmlld21vZGV3aWRnZXQgIT09ICdkZWZhdWx0J1wiICR7Zm9ybUNvbnRyb2x9ICR7b3B0aW9ucy5ldmVudHNUbXBsfSAke2NvbmRpdGlvbmFsQ2xhc3N9ICR7dG1wbFJlZn0gJHt3aWRnZXROYW1lfWA7XG4gICAgcmV0dXJuIGdldEZvcm1XaWRnZXRUZW1wbGF0ZShvcHRpb25zLndpZGdldFR5cGUsIGRlZmF1bHRUbXBsLCBhdHRycywge2NvdW50ZXI6IG9wdGlvbnMuY291bnRlciwgcENvdW50ZXI6IG9wdGlvbnMucENvdW50ZXJ9KTtcbn07XG5cblxuY29uc3QgZ2V0VGVtcGxhdGUgPSAoYXR0cnMsIHdpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc0luTGlzdCkgPT4ge1xuICAgIGNvbnN0IGlzUmFuZ2UgPSBhdHRycy5nZXQoJ2lzLXJhbmdlJykgPT09ICd0cnVlJztcbiAgICBpZiAoIWlzUmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIGdldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0fSk7XG4gICAgfVxuICAgIGNvbnN0IGxheW91dENsYXNzID0gaXNNb2JpbGVBcHAoKSA/ICdjb2wteHMtNicgOiAnY29sLXNtLTYnO1xuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyfSl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc01heFdpZGdldDogdHJ1ZX0pfTwvZGl2PmA7XG59O1xuXG5jb25zdCBnZXRDYXB0aW9uQnlXaWRnZXQgPSAoYXR0cnMsIHdpZGdldFR5cGUsIGNvdW50ZXIpID0+IHtcbiAgICBpZiAoYXR0cnMuZ2V0KCdpcy1yZWxhdGVkJykgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCkge1xuICAgICAgICByZXR1cm4gJ1xcJyoqKioqKioqXFwnJztcbiAgICB9XG4gICAgbGV0IGNhcHRpb24gPSBgJHtjb3VudGVyfS52YWx1ZWA7XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEVUSU1FIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUCkge1xuICAgICAgICBjYXB0aW9uICs9IGAgfCB0b0RhdGU6JHtjb3VudGVyfS5mb3JtV2lkZ2V0LmRhdGVwYXR0ZXJuIHx8ICd5eXl5LU1NLWRkIGhoOm1tOnNzIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5USU1FKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQudGltZXBhdHRlcm4gfHwgJ2hoOm1tIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5EQVRFKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgICd5eXl5LU1NTS1kZCdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlJBVElORyB8fCB3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5VUExPQUQpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoaXNEYXRhU2V0V2lkZ2V0KHdpZGdldFR5cGUpICYmIGF0dHJzLmdldCgnZGF0YWZpZWxkJykgPT09IEFMTEZJRUxEUykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXRDYXB0aW9uKClgO1xufTtcblxuY29uc3QgcmVnaXN0ZXJGb3JtRmllbGQgPSAoaXNGb3JtRmllbGQpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXF1aXJlczogWyd3bS1mb3JtJywgJ3dtLWxpdmVmb3JtJywgJ3dtLWxpdmVmaWx0ZXInLCAnd20tbGlzdCddLFxuICAgICAgICBwcmU6IChhdHRycywgc2hhcmVkLCBwYXJlbnRGb3JtLCBwYXJlbnRMaXZlRm9ybSwgcGFyZW50RmlsdGVyLCBwYXJlbnRMaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50Rm9ybSB8fCBwYXJlbnRMaXZlRm9ybSB8fCBwYXJlbnRGaWx0ZXI7XG4gICAgICAgICAgICBjb25zdCBwQ291bnRlciA9IChwYXJlbnQgJiYgcGFyZW50LmdldCgnZm9ybV9yZWZlcmVuY2UnKSkgfHwgJ2Zvcm0nO1xuICAgICAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IGF0dHJzLmdldCgnd2lkZ2V0JykgfHwgRm9ybVdpZGdldFR5cGUuVEVYVDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFSb2xlID0gaXNGb3JtRmllbGQgPyAnZm9ybS1maWVsZCcgOiAnZmlsdGVyLWZpZWxkJztcbiAgICAgICAgICAgIGNvbnN0IGZvcm1GaWVsZEVycm9yTXNnSWQgPSAnd21mb3JtLWZpZWxkLWVycm9yLScgKyBnZW5lcmF0ZUdVSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25Nc2cgPSBpc0Zvcm1GaWVsZCA/IGA8cCAqbmdJZj1cIiR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2sgdGV4dC1kYW5nZXJcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIke2NvdW50ZXJ9LnZhbGlkYXRpb25tZXNzYWdlXCIgaWQ9XCIke2Zvcm1GaWVsZEVycm9yTXNnSWR9XCI+PHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0udmFsaWRhdGlvbm1lc3NhZ2VcIj48L3NwYW4+PC9wPmAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50c1RtcGwgPSB3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5VUExPQUQgPyAnJyA6IGdldEV2ZW50c1RlbXBsYXRlKGF0dHJzKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xMYXlvdXQgPSBpc01vYmlsZUFwcCgpID8gJ2NvbC14cy0xMicgOiAnY29sLXNtLTEyJztcbiAgICAgICAgICAgIGNvbnN0IGlzSW5MaXN0ID0gcENvdW50ZXIgPT09IChwYXJlbnRMaXN0ICYmIHBhcmVudExpc3QuZ2V0KCdwYXJlbnRfZm9ybV9yZWZlcmVuY2UnKSk7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ19fdmFsaWRhdGlvbklkJywgZm9ybUZpZWxkRXJyb3JNc2dJZCk7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ19fd2lkZ2V0VHlwZScsIHdpZGdldFR5cGUpO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCd3aWRnZXQnKTtcbiAgICAgICAgICAgIHNoYXJlZC5zZXQoJ2NvdW50ZXInLCBjb3VudGVyKTtcblxuICAgICAgICAgICAgaWYgKGF0dHJzLmdldCgnaXMtcmFuZ2UnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAwKTtcbiAgICAgICAgICAgICAgICBzZXREZWZhdWx0UGxhY2Vob2xkZXIoYXR0cnMsIHdpZGdldFR5cGUsIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXREZWZhdWx0UGxhY2Vob2xkZXIoYXR0cnMsIHdpZGdldFR5cGUsIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IGRhdGEtcm9sZT1cIiR7ZGF0YVJvbGV9XCIgW2Zvcm1Hcm91cF09XCIke3BDb3VudGVyfS5uZ2Zvcm1cIiB3bUZvcm1GaWVsZCB3bUNhcHRpb25Qb3NpdGlvbiAjJHtjb3VudGVyfT1cIndtRm9ybUZpZWxkXCIgd2lkZ2V0dHlwZT1cIiR7d2lkZ2V0VHlwZX1cIiAke2dldEZvcm1NYXJrdXBBdHRyKGF0dHJzKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGl2ZS1maWVsZCBmb3JtLWdyb3VwIGFwcC1jb21wb3NpdGUtd2lkZ2V0IGNsZWFyZml4IGNhcHRpb24te3ske3BDb3VudGVyfS5jYXB0aW9ucG9zaXRpb259fVwiIHdpZGdldD1cIiR7d2lkZ2V0VHlwZX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2hpZGRlbl09XCIhJHtjb3VudGVyfS5kaXNwbGF5bmFtZVwiIGNsYXNzPVwiYXBwLWxhYmVsIGNvbnRyb2wtbGFiZWwgZm9ybWZpZWxkLWxhYmVsIHt7JHtwQ291bnRlcn0uX2NhcHRpb25DbGFzc319XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7d2lkdGg6ICR7cENvdW50ZXJ9LmNhcHRpb25zaXplfVwiIFtuZ0NsYXNzXT1cInsndGV4dC1kYW5nZXInOiAke2NvdW50ZXJ9Ll9jb250cm9sPy5pbnZhbGlkICYmICR7Y291bnRlcn0uX2NvbnRyb2w/LnRvdWNoZWQgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlICYmICR7Y291bnRlcn0ucmVxdWlyZWR9XCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0uZGlzcGxheW5hbWVcIj4gPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIiR7Y291bnRlcn0uZGlzcGxheW5hbWUgPyAke3BDb3VudGVyfS5fd2lkZ2V0Q2xhc3MgOiAnJHtjb250cm9sTGF5b3V0fSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWMgYXBwLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlIHx8ICR7Y291bnRlcn0udmlld21vZGV3aWRnZXQgPT09ICdkZWZhdWx0JyB8fCAke2NvdW50ZXJ9LndpZGdldHR5cGUgPT09ICd1cGxvYWQnXCIgW2lubmVySFRNTF09XCIke2dldENhcHRpb25CeVdpZGdldChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcil9XCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtnZXRUZW1wbGF0ZShhdHRycywgd2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgKm5nSWY9XCIke2NvdW50ZXJ9LnNob3dQZW5kaW5nU3Bpbm5lclwiIGNsYXNzPVwiZm9ybS1maWVsZC1zcGlubmVyIGZhIGZhLWNpcmNsZS1vLW5vdGNoIGZhLXNwaW4gZm9ybS1jb250cm9sLWZlZWRiYWNrXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiEoJHtjb3VudGVyfS5fY29udHJvbD8uaW52YWxpZCAmJiAke2NvdW50ZXJ9Ll9jb250cm9sPy50b3VjaGVkKSAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBbdGV4dENvbnRlbnRdPVwiJHtjb3VudGVyfS5oaW50XCI+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ZhbGlkYXRpb25Nc2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmAsXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFdpZGdldCA9IGdldFJlcXVpcmVkRm9ybVdpZGdldChhdHRycy5nZXQoJ19fd2lkZ2V0VHlwZScpIHx8IGF0dHJzLmdldCgndHlwZScpKTtcbiAgICAgICAgICAgIGF0dHJzLmRlbGV0ZSgnX193aWRnZXRUeXBlJyk7XG4gICAgICAgICAgICByZXR1cm4gW3JlcXVpcmVkV2lkZ2V0LCAnd20tZm9ybSddO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCB0cnVlKSk7XG5yZWdpc3Rlcignd20tZmlsdGVyLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCBmYWxzZSkpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvdHJhbnNwaWxlL3NyYy9kYXRhL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUNILGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsV0FBVyxFQUNkLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTVDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDMUIsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7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QUFPO2tDQUMvRixhQUFhOzsrQkFFaEIsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHO1FBQzNCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUEwQixFQUFZLEVBQUU7WUFDOUMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDN0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsUUFBUSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUVqRSxlQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0Rm9ybU1hcmt1cEF0dHIsIElCdWlsZFRhc2tEZWYsIHJlZ2lzdGVyfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge1xuICAgIEZvcm1XaWRnZXRUeXBlLFxuICAgIGdlbmVyYXRlR1VJZCxcbiAgICBnZXRGb3JtV2lkZ2V0VGVtcGxhdGUsXG4gICAgZ2V0UmVxdWlyZWRGb3JtV2lkZ2V0LFxuICAgIElER2VuZXJhdG9yLFxuICAgIGlzTW9iaWxlQXBwXG59IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHtBTExGSUVMRFMsIGlzRGF0YVNldFdpZGdldH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbHMnO1xuXG5jb25zdCB0YWdOYW1lID0gJ2Rpdic7XG5jb25zdCBpZEdlbiA9IG5ldyBJREdlbmVyYXRvcignZm9ybWZpZWxkXycpO1xuXG5jb25zdCBnZXRFdmVudHNUZW1wbGF0ZSA9IChhdHRycykgPT4ge1xuICAgIGNvbnN0IGV2ZW50QXR0cnMgPSBuZXcgTWFwKCk7XG4gICAgaWYgKCFhdHRycy5oYXMoJ2ZvY3VzLmV2ZW50JykpIHtcbiAgICAgICAgYXR0cnMuc2V0KCdmb2N1cy5ldmVudCcsICcnKTtcbiAgICB9XG4gICAgaWYgKCFhdHRycy5oYXMoJ2JsdXIuZXZlbnQnKSkge1xuICAgICAgICBhdHRycy5zZXQoJ2JsdXIuZXZlbnQnLCAnJyk7XG4gICAgfVxuICAgIGF0dHJzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICBpZiAoa2V5LmVuZHNXaXRoKCcuZXZlbnQnKSkge1xuICAgICAgICAgICBpZiAoa2V5ID09PSAnZm9jdXMuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25Gb2N1c0ZpZWxkKCRldmVudCk7JHt2YWx1ZX1gO1xuICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2JsdXIuZXZlbnQnKSB7XG4gICAgICAgICAgICAgICB2YWx1ZSA9IGBfb25CbHVyRmllbGQoJGV2ZW50KTske3ZhbHVlfWA7XG4gICAgICAgICAgIH1cbiAgICAgICAgICAgZXZlbnRBdHRycy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgIGF0dHJzLmRlbGV0ZShrZXkpO1xuICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZ2V0Rm9ybU1hcmt1cEF0dHIoZXZlbnRBdHRycyk7XG59O1xuXG5jb25zdCBERUZBVUxUX1BMQUNFSE9MREVSUyA9IG5ldyBNYXAoW1xuICAgIFtGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsIFsnU2VsZWN0IE1pbiB2YWx1ZScsICdTZWxlY3QgTWF4IHZhbHVlJywgJ1NlbGVjdCB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuREFURVRJTUUsIFsnU2VsZWN0IE1pbiBkYXRlIHRpbWUnLCAnU2VsZWN0IE1heCBkYXRlIHRpbWUnLCAnU2VsZWN0IGRhdGUgdGltZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuVElNRSwgWydTZWxlY3QgTWluIHRpbWUnLCAnU2VsZWN0IE1heCB0aW1lJywgJ1NlbGVjdCB0aW1lJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5EQVRFLCBbJ1NlbGVjdCBNaW4gZGF0ZScsICdTZWxlY3QgTWF4IGRhdGUnLCAnU2VsZWN0IGRhdGUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFRBUkVBLCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlJJQ0hURVhULCBbJycsICcnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLkNPTE9SUElDS0VSLCBbJ1NlbGVjdCBDb2xvcicsICdTZWxlY3QgQ29sb3InLCAnU2VsZWN0IENvbG9yJ11dLFxuICAgIFtGb3JtV2lkZ2V0VHlwZS5DSElQUywgWycnLCAnJywgJ1R5cGUgaGVyZS4uLiddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuUEFTU1dPUkQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuTlVNQkVSLCBbJ0VudGVyIE1pbiB2YWx1ZScsICdFbnRlciBNYXggdmFsdWUnLCAnRW50ZXIgdmFsdWUnXV0sXG4gICAgW0Zvcm1XaWRnZXRUeXBlLlRFWFQsIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQ1VSUkVOQ1ksIFsnRW50ZXIgTWluIHZhbHVlJywgJ0VudGVyIE1heCB2YWx1ZScsICdFbnRlciB2YWx1ZSddXSxcbiAgICBbRm9ybVdpZGdldFR5cGUuQVVUT0NPTVBMRVRFLCBbJycsICcnLCAnU2VhcmNoJ11dLFxuXSk7XG5cbmNvbnN0IHNldERlZmF1bHRQbGFjZWhvbGRlciA9IChhdHRycywgd2lkZ2V0VHlwZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwcm9wID0gaW5kZXggPT09IDEgPyAnbWF4cGxhY2Vob2xkZXInIDogJ3BsYWNlaG9sZGVyJztcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSBhdHRycy5nZXQocHJvcCk7XG4gICAgaWYgKHBsYWNlaG9sZGVyIHx8IHBsYWNlaG9sZGVyID09PSAnJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUlMuZ2V0KHdpZGdldFR5cGUpICYmIERFRkFVTFRfUExBQ0VIT0xERVJTLmdldCh3aWRnZXRUeXBlKVtpbmRleF07XG4gICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIGF0dHJzLnNldChwcm9wLCBwbGFjZWhvbGRlcik7XG4gICAgfVxufTtcblxuY29uc3QgZ2V0V2lkZ2V0VGVtcGxhdGUgPSAoYXR0cnMsIG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBuYW1lID0gYXR0cnMuZ2V0KCduYW1lJyk7XG4gICAgY29uc3QgZmllbGROYW1lID0gKGF0dHJzLmdldCgna2V5JykgfHwgbmFtZSB8fCAnJykudHJpbSgpO1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gb3B0aW9ucy5pc01heFdpZGdldCA/IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1fbWF4XCJgIDogKG9wdGlvbnMuaXNJbkxpc3QgPyBgW2Zvcm1Db250cm9sTmFtZV09XCIke29wdGlvbnMuY291bnRlcn0uX2ZpZWxkTmFtZVwiYCA6IGBmb3JtQ29udHJvbE5hbWU9XCIke2ZpZWxkTmFtZX1cImApO1xuICAgIGNvbnN0IHRtcGxSZWYgPSBvcHRpb25zLmlzTWF4V2lkZ2V0ID8gYCNmb3JtV2lkZ2V0TWF4YCA6IGAjZm9ybVdpZGdldGA7XG4gICAgY29uc3Qgd2lkZ2V0TmFtZSA9IG5hbWUgPyAob3B0aW9ucy5pc01heFdpZGdldCA/IGBuYW1lPVwiJHtuYW1lfV9mb3JtV2lkZ2V0TWF4XCJgIDogYG5hbWU9XCIke25hbWV9X2Zvcm1XaWRnZXRcImApIDogJyc7XG4gICAgY29uc3QgY29uZGl0aW9uYWxDbGFzcyA9IGBbbmdDbGFzc109XCIke2F0dHJzLmdldCgnbmdjbGFzcycpfVwiYDtcbiAgICBjb25zdCBkZWZhdWx0VG1wbCA9IGBbY2xhc3MuaGlkZGVuXT1cIiEke29wdGlvbnMucENvdW50ZXJ9LmlzVXBkYXRlTW9kZSAmJiAke29wdGlvbnMuY291bnRlcn0udmlld21vZGV3aWRnZXQgIT09ICdkZWZhdWx0J1wiICR7Zm9ybUNvbnRyb2x9ICR7b3B0aW9ucy5ldmVudHNUbXBsfSAke2NvbmRpdGlvbmFsQ2xhc3N9ICR7dG1wbFJlZn0gJHt3aWRnZXROYW1lfWA7XG4gICAgcmV0dXJuIGdldEZvcm1XaWRnZXRUZW1wbGF0ZShvcHRpb25zLndpZGdldFR5cGUsIGRlZmF1bHRUbXBsLCBhdHRycywge2NvdW50ZXI6IG9wdGlvbnMuY291bnRlciwgcENvdW50ZXI6IG9wdGlvbnMucENvdW50ZXJ9KTtcbn07XG5cblxuY29uc3QgZ2V0VGVtcGxhdGUgPSAoYXR0cnMsIHdpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc0luTGlzdCkgPT4ge1xuICAgIGNvbnN0IGlzUmFuZ2UgPSBhdHRycy5nZXQoJ2lzLXJhbmdlJykgPT09ICd0cnVlJztcbiAgICBpZiAoIWlzUmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIGdldFdpZGdldFRlbXBsYXRlKGF0dHJzLCB7d2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0fSk7XG4gICAgfVxuICAgIGNvbnN0IGxheW91dENsYXNzID0gaXNNb2JpbGVBcHAoKSA/ICdjb2wteHMtNicgOiAnY29sLXNtLTYnO1xuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyfSl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiR7bGF5b3V0Q2xhc3N9XCI+JHtnZXRXaWRnZXRUZW1wbGF0ZShhdHRycywge3dpZGdldFR5cGUsIGV2ZW50c1RtcGwsIGNvdW50ZXIsIHBDb3VudGVyLCBpc01heFdpZGdldDogdHJ1ZX0pfTwvZGl2PmA7XG59O1xuXG5jb25zdCBnZXRDYXB0aW9uQnlXaWRnZXQgPSAoYXR0cnMsIHdpZGdldFR5cGUsIGNvdW50ZXIpID0+IHtcbiAgICBpZiAoYXR0cnMuZ2V0KCdpcy1yZWxhdGVkJykgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5QQVNTV09SRCkge1xuICAgICAgICByZXR1cm4gJ1xcJyoqKioqKioqXFwnJztcbiAgICB9XG4gICAgbGV0IGNhcHRpb24gPSBgJHtjb3VudGVyfS52YWx1ZWA7XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLkRBVEVUSU1FIHx8IHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlRJTUVTVEFNUCkge1xuICAgICAgICBjYXB0aW9uICs9IGAgfCB0b0RhdGU6JHtjb3VudGVyfS5mb3JtV2lkZ2V0LmRhdGVwYXR0ZXJuIHx8ICd5eXl5LU1NLWRkIGhoOm1tOnNzIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5USU1FKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQudGltZXBhdHRlcm4gfHwgJ2hoOm1tIGEnYDtcbiAgICAgICAgcmV0dXJuIGNhcHRpb247XG4gICAgfVxuICAgIGlmICh3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5EQVRFKSB7XG4gICAgICAgIGNhcHRpb24gKz0gYCB8IHRvRGF0ZToke2NvdW50ZXJ9LmZvcm1XaWRnZXQuZGF0ZXBhdHRlcm4gfHwgICd5eXl5LU1NTS1kZCdgO1xuICAgICAgICByZXR1cm4gY2FwdGlvbjtcbiAgICB9XG4gICAgaWYgKHdpZGdldFR5cGUgPT09IEZvcm1XaWRnZXRUeXBlLlJBVElORyB8fCB3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5VUExPQUQpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoaXNEYXRhU2V0V2lkZ2V0KHdpZGdldFR5cGUpICYmIGF0dHJzLmdldCgnZGF0YWZpZWxkJykgPT09IEFMTEZJRUxEUykge1xuICAgICAgICByZXR1cm4gYCR7Y291bnRlcn0uZ2V0RGlzcGxheUV4cHIoKWA7XG4gICAgfVxuICAgIHJldHVybiBgJHtjb3VudGVyfS5nZXRDYXB0aW9uKClgO1xufTtcblxuY29uc3QgcmVnaXN0ZXJGb3JtRmllbGQgPSAoaXNGb3JtRmllbGQpOiBJQnVpbGRUYXNrRGVmID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXF1aXJlczogWyd3bS1mb3JtJywgJ3dtLWxpdmVmb3JtJywgJ3dtLWxpdmVmaWx0ZXInLCAnd20tbGlzdCddLFxuICAgICAgICBwcmU6IChhdHRycywgc2hhcmVkLCBwYXJlbnRGb3JtLCBwYXJlbnRMaXZlRm9ybSwgcGFyZW50RmlsdGVyLCBwYXJlbnRMaXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gaWRHZW4ubmV4dFVpZCgpO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50Rm9ybSB8fCBwYXJlbnRMaXZlRm9ybSB8fCBwYXJlbnRGaWx0ZXI7XG4gICAgICAgICAgICBjb25zdCBwQ291bnRlciA9IChwYXJlbnQgJiYgcGFyZW50LmdldCgnZm9ybV9yZWZlcmVuY2UnKSkgfHwgJ2Zvcm0nO1xuICAgICAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IGF0dHJzLmdldCgnd2lkZ2V0JykgfHwgRm9ybVdpZGdldFR5cGUuVEVYVDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFSb2xlID0gaXNGb3JtRmllbGQgPyAnZm9ybS1maWVsZCcgOiAnZmlsdGVyLWZpZWxkJztcbiAgICAgICAgICAgIGNvbnN0IGZvcm1GaWVsZEVycm9yTXNnSWQgPSAnd21mb3JtLWZpZWxkLWVycm9yLScgKyBnZW5lcmF0ZUdVSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25Nc2cgPSBpc0Zvcm1GaWVsZCA/IGA8cCAqbmdJZj1cIiR7Y291bnRlcn0uX2NvbnRyb2w/LmludmFsaWQgJiYgJHtjb3VudGVyfS5fY29udHJvbD8udG91Y2hlZCAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2sgdGV4dC1kYW5nZXJcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIke2NvdW50ZXJ9LnZhbGlkYXRpb25tZXNzYWdlXCIgaWQ9XCIke2Zvcm1GaWVsZEVycm9yTXNnSWR9XCI+PHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0udmFsaWRhdGlvbm1lc3NhZ2VcIj48L3NwYW4+PC9wPmAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50c1RtcGwgPSB3aWRnZXRUeXBlID09PSBGb3JtV2lkZ2V0VHlwZS5VUExPQUQgPyAnJyA6IGdldEV2ZW50c1RlbXBsYXRlKGF0dHJzKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xMYXlvdXQgPSBpc01vYmlsZUFwcCgpID8gJ2NvbC14cy0xMicgOiAnY29sLXNtLTEyJztcbiAgICAgICAgICAgIGNvbnN0IGlzSW5MaXN0ID0gcENvdW50ZXIgPT09IChwYXJlbnRMaXN0ICYmIHBhcmVudExpc3QuZ2V0KCdwYXJlbnRfZm9ybV9yZWZlcmVuY2UnKSk7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ19fdmFsaWRhdGlvbklkJywgZm9ybUZpZWxkRXJyb3JNc2dJZCk7XG4gICAgICAgICAgICBhdHRycy5zZXQoJ19fd2lkZ2V0VHlwZScsIHdpZGdldFR5cGUpO1xuICAgICAgICAgICAgYXR0cnMuZGVsZXRlKCd3aWRnZXQnKTtcbiAgICAgICAgICAgIHNoYXJlZC5zZXQoJ2NvdW50ZXInLCBjb3VudGVyKTtcblxuICAgICAgICAgICAgaWYgKGF0dHJzLmdldCgnaXMtcmFuZ2UnKSA9PT0gJ3RydWUnKSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBsYWNlaG9sZGVyKGF0dHJzLCB3aWRnZXRUeXBlLCAwKTtcbiAgICAgICAgICAgICAgICBzZXREZWZhdWx0UGxhY2Vob2xkZXIoYXR0cnMsIHdpZGdldFR5cGUsIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXREZWZhdWx0UGxhY2Vob2xkZXIoYXR0cnMsIHdpZGdldFR5cGUsIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYDwke3RhZ05hbWV9IGRhdGEtcm9sZT1cIiR7ZGF0YVJvbGV9XCIgW2Zvcm1Hcm91cF09XCIke3BDb3VudGVyfS5uZ2Zvcm1cIiB3bUZvcm1GaWVsZCB3bUNhcHRpb25Qb3NpdGlvbiAjJHtjb3VudGVyfT1cIndtRm9ybUZpZWxkXCIgd2lkZ2V0dHlwZT1cIiR7d2lkZ2V0VHlwZX1cIiAke2dldEZvcm1NYXJrdXBBdHRyKGF0dHJzKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGl2ZS1maWVsZCBmb3JtLWdyb3VwIGFwcC1jb21wb3NpdGUtd2lkZ2V0IGNsZWFyZml4IGNhcHRpb24te3ske3BDb3VudGVyfS5jYXB0aW9ucG9zaXRpb259fVwiIHdpZGdldD1cIiR7d2lkZ2V0VHlwZX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2hpZGRlbl09XCIhJHtjb3VudGVyfS5kaXNwbGF5bmFtZVwiIGNsYXNzPVwiYXBwLWxhYmVsIGNvbnRyb2wtbGFiZWwgZm9ybWZpZWxkLWxhYmVsIHt7JHtwQ291bnRlcn0uX2NhcHRpb25DbGFzc319XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7d2lkdGg6ICR7cENvdW50ZXJ9LmNhcHRpb25zaXplfVwiIFtuZ0NsYXNzXT1cInsndGV4dC1kYW5nZXInOiAke2NvdW50ZXJ9Ll9jb250cm9sPy5pbnZhbGlkICYmICR7Y291bnRlcn0uX2NvbnRyb2w/LnRvdWNoZWQgJiYgJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlICYmICR7Y291bnRlcn0ucmVxdWlyZWR9XCIgW3RleHRDb250ZW50XT1cIiR7Y291bnRlcn0uZGlzcGxheW5hbWVcIj4gPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIiR7Y291bnRlcn0uZGlzcGxheW5hbWUgPyAke3BDb3VudGVyfS5fd2lkZ2V0Q2xhc3MgOiAnJHtjb250cm9sTGF5b3V0fSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1zdGF0aWMgYXBwLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiJHtwQ291bnRlcn0uaXNVcGRhdGVNb2RlIHx8ICR7Y291bnRlcn0udmlld21vZGV3aWRnZXQgPT09ICdkZWZhdWx0JyB8fCAke2NvdW50ZXJ9LndpZGdldHR5cGUgPT09ICd1cGxvYWQnXCIgW2lubmVySFRNTF09XCIke2dldENhcHRpb25CeVdpZGdldChhdHRycywgd2lkZ2V0VHlwZSwgY291bnRlcil9XCI+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtnZXRUZW1wbGF0ZShhdHRycywgd2lkZ2V0VHlwZSwgZXZlbnRzVG1wbCwgY291bnRlciwgcENvdW50ZXIsIGlzSW5MaXN0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgKm5nSWY9XCIke2NvdW50ZXJ9LnNob3dQZW5kaW5nU3Bpbm5lclwiIGNsYXNzPVwiZm9ybS1maWVsZC1zcGlubmVyIGZhIGZhLWNpcmNsZS1vLW5vdGNoIGZhLXNwaW4gZm9ybS1jb250cm9sLWZlZWRiYWNrXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiEoJHtjb3VudGVyfS5fY29udHJvbD8uaW52YWxpZCAmJiAke2NvdW50ZXJ9Ll9jb250cm9sPy50b3VjaGVkKSAmJiAke3BDb3VudGVyfS5pc1VwZGF0ZU1vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBbdGV4dENvbnRlbnRdPVwiJHtjb3VudGVyfS5oaW50XCI+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ZhbGlkYXRpb25Nc2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuICAgICAgICB9LFxuICAgICAgICBwb3N0OiAoKSA9PiBgPC8ke3RhZ05hbWV9PmAsXG4gICAgICAgIHByb3ZpZGU6IChhdHRycywgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHByb3ZpZGVyLnNldCgnZm9ybV9yZWZlcmVuY2UnLCBzaGFyZWQuZ2V0KCdjb3VudGVyJykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBpbXBvcnRzOiAoYXR0cnM6IE1hcDxTdHJpbmcsIFN0cmluZz4pOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFdpZGdldCA9IGdldFJlcXVpcmVkRm9ybVdpZGdldChhdHRycy5nZXQoJ19fd2lkZ2V0VHlwZScpIHx8IGF0dHJzLmdldCgndHlwZScpKTtcbiAgICAgICAgICAgIGF0dHJzLmRlbGV0ZSgnX193aWRnZXRUeXBlJyk7XG4gICAgICAgICAgICByZXR1cm4gW3JlcXVpcmVkV2lkZ2V0LCAnd20tZm9ybSddO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbnJlZ2lzdGVyKCd3bS1mb3JtLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCB0cnVlKSk7XG5yZWdpc3Rlcignd20tZmlsdGVyLWZpZWxkJywgcmVnaXN0ZXJGb3JtRmllbGQuYmluZCh0aGlzLCBmYWxzZSkpO1xuXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7fTtcbiJdfQ==
@@ -207,7 +207,7 @@ register('wm-label', () => {
207
207
  tagName$1v = 'label';
208
208
  }
209
209
  const counter = idGen$q.nextUid();
210
- return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.arialabel" ${getAttrMarkup(attrs)}>`;
210
+ return `<${tagName$1v} wmLabel #${counter}="wmLabel" ${getAttrMarkup(attrs)}>`;
211
211
  },
212
212
  post: () => `</${tagName$1v}>`
213
213
  };
@@ -225,7 +225,7 @@ register('wm-picture', () => {
225
225
  return {
226
226
  pre: (attrs) => {
227
227
  const counter = idGen$p.nextUid();
228
- return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${getAttrMarkup(attrs)}>`;
228
+ return `<${tagName$1u} wmPicture #${counter}="wmPicture" [alt]="${counter}.alttext" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.arialabel || 'Image'" ${getAttrMarkup(attrs)}>`;
229
229
  }
230
230
  };
231
231
  });
@@ -682,7 +682,7 @@ var tabPane_build$1 = /*#__PURE__*/Object.freeze({
682
682
  const tagName$17 = 'div';
683
683
  register('wm-tile', () => {
684
684
  return {
685
- pre: attrs => `<${tagName$17} wmTile aria-describedby="Tile" wm-navigable-element="true" ${getAttrMarkup(attrs)}>`,
685
+ pre: attrs => `<${tagName$17} wmTile wm-navigable-element="true" ${getAttrMarkup(attrs)}>`,
686
686
  post: () => `</${tagName$17}>`
687
687
  };
688
688
  });
@@ -1073,7 +1073,7 @@ const registerFormField = (isFormField) => {
1073
1073
  const dataRole = isFormField ? 'form-field' : 'filter-field';
1074
1074
  const formFieldErrorMsgId = 'wmform-field-error-' + generateGUId();
1075
1075
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
1076
- class="help-block text-danger" aria-hidden="false"
1076
+ class="help-block text-danger" aria-hidden="false" role="alert"
1077
1077
  aria-live="assertive" [attr.aria-label]="${counter}.validationmessage" id="${formFieldErrorMsgId}"><span aria-hidden="true" [textContent]="${counter}.validationmessage"></span></p>` : '';
1078
1078
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
1079
1079
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';