vcomply-workflow-engine 3.4.27 → 3.4.29

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 (39) hide show
  1. package/esm2020/lib/constants/time.constants.mjs +2 -0
  2. package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +29 -12
  3. package/esm2020/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +4 -3
  4. package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +4 -3
  5. package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +4 -3
  6. package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +4 -3
  7. package/esm2020/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +17 -8
  8. package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +15 -6
  9. package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +4 -3
  10. package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +4 -3
  11. package/esm2020/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +3 -2
  12. package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +14 -6
  13. package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -3
  14. package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +3 -2
  15. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +3 -3
  16. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +5 -3
  17. package/esm2020/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
  18. package/esm2020/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +194 -0
  19. package/esm2020/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
  20. package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +8 -7
  21. package/esm2020/lib/workflow-engine.module.mjs +7 -3
  22. package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +5 -4
  23. package/esm2020/lib/workflow-services/log-issue.service.mjs +39 -140
  24. package/fesm2015/vcomply-workflow-engine.mjs +369 -221
  25. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  26. package/fesm2020/vcomply-workflow-engine.mjs +351 -202
  27. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  28. package/lib/constants/time.constants.d.ts +1 -0
  29. package/lib/log-an-issue/log-an-issue.component.d.ts +2 -3
  30. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +2 -0
  31. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +2 -0
  32. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +2 -0
  33. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -0
  34. package/lib/ui-kit/time-picker/constants/constant.d.ts +4 -0
  35. package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +25 -0
  36. package/lib/ui-kit/time-picker/time-picker.module.d.ts +8 -0
  37. package/lib/workflow-engine.module.d.ts +2 -1
  38. package/lib/workflow-services/log-issue.service.d.ts +0 -1
  39. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import moment from 'moment/moment';
3
+ import { DEFAULT_TIME } from '../../../constants/time.constants';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../frequency.service";
5
6
  import * as i2 from "@angular/forms";
@@ -83,7 +84,7 @@ export class FrequencyRandomComponent {
83
84
  }
84
85
  this.lifecycleDetails = this.frequencyData.lifecycle;
85
86
  if (lifecycleInfo[0] !== '0000-00-00') {
86
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
87
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
87
88
  this.randomlyLifeCycleEndTime = new Date(dateSelected * 1000);
88
89
  }
89
90
  if (this.frequencyData.lifecycle == '0000-00-00~~0') {
@@ -249,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
249
250
  }], frequencyDetails: [{
250
251
  type: Output
251
252
  }] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFuZG9tL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFPbkMsTUFBTSxPQUFPLHdCQUF3QjtJQW1DbkMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsQzdDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsNENBQTRDO1FBRTVDLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RSxrQkFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENB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R0FBRyxJQUFJLENBQUMsZUFBZTtZQUN2RSxXQUFXLEVBQ1QsUUFBUTtnQkFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztnQkFDakQsT0FBTztnQkFDUCxJQUFJLENBQUMsZUFBZTtnQkFDcEIsbUJBQW1CO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU87WUFDTCxPQUFPLEVBQ0wsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsOEJBQThCLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDckUsV0FBVyxFQUNULGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsbUJBQW1CO1NBQ2pFLENBQUM7SUFDSixDQUFDOztxSEFsUVUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaU1DVHJDLHVqRkF1REE7MkZEOUNhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7dUdBS3ZCLElBQUk7c0JBQVosS0FBSztnQkE0QkcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1yYW5kb20nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lSYW5kb21Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICAvLzA6IHdlZWtseSAxOiBtb250aGx5IDI6cXVhcnRlcmx5IDM6IHllYXJseVxyXG5cclxuICBtb250aE5hbWVBcnJheTogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHNlbGVjdGVkTW9udGhseTogQXJyYXk8bnVtYmVyPiA9IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTFdO1xyXG4gIHJhbmRvbVR5cGVNYXggPSBbMywgMTAsIDMwLCA5MF07XHJcbiAgcmFuZG9tVHlwZSA9IFsnV2Vla2x5JywgJ01vbnRobHknLCAnUXVhcnRlcmx5JywgJ1llYXJseSddO1xyXG4gIHJhbmRvbUluc3RhbmNlcyA9IDA7XHJcbiAgZGVmYXVsdFJhbmRvbUluc3RhbmNlID0gWzIsIDUsIDE1LCA0NV07XHJcbiAgcmFuZG9tbHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICByYW5kb21seUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICByYW5kb21seUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMucmFuZG9tbHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgcmFuZG9tbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICByYW5kb21seVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICByYW5kb21UeXBlU2VsZWN0ZWQgPSAwO1xyXG4gIHJhbmRvbVdpbmRvdyA9IDI7XHJcbiAgcmFuZG9tRmFpbGVkID0gMjtcclxuICByYW5kb21Nb250aFNlbGVjdGVkID0gW107XHJcbiAgcmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPSAxO1xyXG4gIHF1YXJ0ZXJseUdyb3VwID0gWzAsIDMsIDYsIDksIDEsIDQsIDcsIDEwLCAyLCA1LCA4LCAxMV07XHJcbiAgcmFuZG9tVHlwZUluc3RhbmNlcyA9IFsyLCA1LCAxNSwgNDVdO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgcXVhcnRlcmx5TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xyXG4gICAgdGhpcy5xdWFydGVybHlNb250aCA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5xdWFydGVybHlNb250aCldO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKChtb250aDogc3RyaW5nKSA9PlxyXG4gICAgICBtb250aC5zdWJzdHJpbmcoMCwgMylcclxuICAgICk7XHJcbiAgICBjb25zdCBpbmRleE9mTW9udGggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobmV3IERhdGUoKS5nZXRNb250aCgpKTtcclxuICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPVxyXG4gICAgICBpbmRleE9mTW9udGggPCA0ID8gMCA6IGluZGV4T2ZNb250aCA+IDMgJiYgaW5kZXhPZk1vbnRoIDwgOCA/IDEgOiAyO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA4XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZXRSYW5kb21JbnN0YW5jZXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSYW5kb21JbnN0YW5jZXMoKSB7XHJcbiAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyA9IHRoaXMucmFuZG9tVHlwZUluc3RhbmNlc1t0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZF07XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVNlbGVjdGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy5yYW5kb21XaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy5yYW5kb21GYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFszXSk7XHJcbiAgICB0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzFdKSAtIDE7XHJcbiAgICBpZiAodGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPT09IDEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSBmcmVxdWVuY3lTZWxlY3RlZFsyXVxyXG4gICAgICAgIC5zcGxpdCgnLCcpXHJcbiAgICAgICAgLm1hcCgoZWxlOiBhbnkpID0+IHBhcnNlSW50KGVsZSkgLSAxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9PSAyKSB7XHJcbiAgICAgIGNvbnN0IG1vbnRoUmFuZG9tID0gcGFyc2VJbnQoZnJlcXVlbmN5U2VsZWN0ZWRbMl0uc3BsaXQoJywnKVswXSk7XHJcbiAgICAgIGNvbnN0IGluZGV4UmFuZG9tID0gdGhpcy5xdWFydGVybHlHcm91cC5pbmRleE9mKG1vbnRoUmFuZG9tIC0gMSk7XHJcbiAgICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPVxyXG4gICAgICAgIGluZGV4UmFuZG9tIDwgNCA/IDAgOiBpbmRleFJhbmRvbSA+IDMgJiYgaW5kZXhSYW5kb20gPCA4ID8gMSA6IDI7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJhbmRvbWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMucmFuZG9tbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMucmFuZG9tbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy5yYW5kb21seVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMucmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSB0aGlzLnNlbGVjdGVkTW9udGhseS5maWx0ZXIoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMucmFuZG9tV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJhbmRvbUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHJhbmRvbUNoZWNrZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tSW5zdGFuY2VzKCk7XHJcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgcmFuZG9tSW5zdGFuY2UoZXZlbnQ6IGFueSwgdHlwZTogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSkpICYmXHJcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSAhPT0gJzAnICYmXHJcbiAgICAgIHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgPiAwICYmXHJcbiAgICAgIHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgPCB0aGlzLnJhbmRvbVR5cGVNYXhbdHlwZV0gKyAxXHJcbiAgICApIHtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzID1cclxuICAgICAgICB0aGlzLmRlZmF1bHRSYW5kb21JbnN0YW5jZVt0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZF07XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZE1vbnRoKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICByYW5kb21RdWFydGVybHlDaGVja2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSYW5kb21GcmVxdWVuY3koKSB7XHJcbiAgICAvLzA6IHdlZWtseSAxOiBtb250aGx5IDI6cXVhcnRlcmx5IDM6IHllYXJseVxyXG4gICAgbGV0IGZyZXF1ZW5jeURldGFpbHM7XHJcbiAgICBzd2l0Y2ggKHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZ2V0WWVhcmx5RnJlcXVlbmN5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IGZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm47XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSBmcmVxdWVuY3lEZXRhaWxzPy5wbGFjZWhvbGRlcjtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3JhbmRvbWx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMucmFuZG9tRmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMucmFuZG9tV2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjogOCArICd+JyArIDEgKyAnficgKyAwICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXHJcbiAgICAgIHBsYWNlaG9sZGVyOlxyXG4gICAgICAgICdFdmVyeSB3ZWVrIGZvciAnICsgdGhpcy5yYW5kb21JbnN0YW5jZXMgKyAnIHJhbmRvbSBpbnN0YW5jZXMnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRobHlGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHRoaXMuc2VsZWN0ZWRNb250aGx5LnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBzZWxlY3RlZE1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjpcclxuICAgICAgICA4ICsgJ34nICsgMiArICd+JyArIG1vbnRoSW5kZXguam9pbignLCcpICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXHJcbiAgICAgIHBsYWNlaG9sZGVyOlxyXG4gICAgICAgICdFdmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgZm9yICcgK1xyXG4gICAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzICtcclxuICAgICAgICAnIHJhbmRvbSBpbnN0YW5jZXMnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpIHtcclxuICAgIGxldCBtb250aFNlcXVlbmNlID1cclxuICAgICAgdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9PT0gMFxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSgwLCA0KVxyXG4gICAgICAgIDogdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9PT0gMVxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg0LCA4KVxyXG4gICAgICAgIDogdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg4KTtcclxuICAgIG1vbnRoU2VxdWVuY2UgPSBtb250aFNlcXVlbmNlLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHBhdHRlcm46IDggKyAnficgKyAzICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxyXG4gICAgICBwbGFjZWhvbGRlcjpcclxuICAgICAgICAnRXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlNb250aFt0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBmb3IgJyArXHJcbiAgICAgICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgK1xyXG4gICAgICAgICcgcmFuZG9tIGluc3RhbmNlcycsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0WWVhcmx5RnJlcXVlbmN5KCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjpcclxuICAgICAgICA4ICsgJ34nICsgNCArICd+MSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTJ+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxyXG4gICAgICBwbGFjZWhvbGRlcjpcclxuICAgICAgICAnRXZlcnkgeWVhciBmb3IgJyArIHRoaXMucmFuZG9tSW5zdGFuY2VzICsgJyByYW5kb20gaW5zdGFuY2VzJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXJhbmRvbSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJhbmRvbVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5UWVBFOjwvZGl2PiBcclxuICAgIDxhcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3RcclxuICAgIFtyYWRpb0xpc3RdPVwicmFuZG9tVHlwZVwiIFxyXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tVHlwZVNlbGVjdGVkXCIgXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJyYW5kb21DaGVja2VkKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ3JhbmRvbSdcIlxyXG4gICAgY2xhc3M9XCJyYW5kb20tcmFkaW9cIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3Q+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XHJcbiAgICAgICAgKm5nSWY9XCJyYW5kb21UeXBlU2VsZWN0ZWQgPT0gMlwiICBcclxuICAgICAgICBbcmFkaW9MaXN0XT1cInF1YXJ0ZXJseU1vbnRoXCJcclxuICAgICAgICBbbmFtZV09XCIncXVhcnRlcidcIiBcclxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJyYW5kb21RdWFydGVybHlTZWxlY3RlZFwiIFxyXG4gICAgICAgIChzZWxlY3RlZFJhZGlvKT1cInJhbmRvbVF1YXJ0ZXJseUNoZWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgY2xhc3M9XCJxdWFydGVybHktcmFkaW9cIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgID5cclxuICAgIDwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxyXG4gICAgPGFwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdFxyXG4gICAgICAgICpuZ0lmPVwicmFuZG9tVHlwZVNlbGVjdGVkID09IDFcIiAgXHJcbiAgICAgICAgW2lkXT1cIjhcIlxyXG4gICAgICAgIFtsaXN0QXJyYXldPVwibW9udGhOYW1lQXJyYXlcIlxyXG4gICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkTW9udGhseVwiXHJcbiAgICAgICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgIGNsYXNzPVwibW9udGhseS1jaGVja2JveFwiXHJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJhbmRvbS1tZXNzYWdlIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5SYW5kb20gb2NjdXJyZW5jZSBmb3I8L2Rpdj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJhbmRvbUluc3RhbmNlc1wiIChjaGFuZ2UpPVwicmFuZG9tSW5zdGFuY2UoJGV2ZW50LCByYW5kb21UeXBlU2VsZWN0ZWQpXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5pbnN0YW5jZXMuIE5vdGUsIHRoZSBtYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyBmb3IgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDBcIj57eyByYW5kb21UeXBlW3JhbmRvbVR5cGVTZWxlY3RlZF0udG9Mb3dlckNhc2UoKSB9fTwvc3Bhbj4gaXMge3sgcmFuZG9tVHlwZU1heFtyYW5kb21UeXBlU2VsZWN0ZWRdIH19LjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgICAgIFtpZF0gPSAnOCdcclxuICAgICAgICBbcGFnZU5hbWVdPVwiJ3JhbmRvbSdcIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgIFtpc0RlYWN0aXZhdGVkXT1cImZhbHNlXCJcclxuICAgICAgICBbY29tcGxldGVkVmFsdWVdPVwicmFuZG9tV2luZG93XCJcclxuICAgICAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicmFuZG9tRmFpbGVkXCJcclxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcclxuICAgICAgICBbaWRdPVwiOFwiXHJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgICAgICBbZW5kRGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgICAgIFtvY2N1cnJhbmNlXT1cInJhbmRvbWx5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgICAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFuZG9tL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhbmRvbS9mcmVxdWVuY3ktcmFuZG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFtQ25DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbEM3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLDRDQUE0QztRQUU1QyxtQkFBYyxHQUFlLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEUsa0JBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxDQUFD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QUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxhQUFhLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3ZFLFdBQVcsRUFDVCxRQUFRO2dCQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDO2dCQUNqRCxPQUFPO2dCQUNQLElBQUksQ0FBQyxlQUFlO2dCQUNwQixtQkFBbUI7U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTztZQUNMLE9BQU8sRUFDTCxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsZUFBZTtZQUNyRSxXQUFXLEVBQ1QsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxtQkFBbUI7U0FDakUsQ0FBQztJQUNKLENBQUM7O3FIQWxRVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixpTUNWckMsdWpGQXVEQTsyRkQ3Q2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjt1R0FLdkIsSUFBSTtzQkFBWixLQUFLO2dCQTRCRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5pbXBvcnQgeyBERUZBVUxUX1RJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGltZS5jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXJhbmRvbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeVJhbmRvbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcblxyXG4gIC8vMDogd2Vla2x5IDE6IG1vbnRobHkgMjpxdWFydGVybHkgMzogeWVhcmx5XHJcblxyXG4gIG1vbnRoTmFtZUFycmF5OiBBcnJheTxhbnk+ID0gW107XHJcbiAgc2VsZWN0ZWRNb250aGx5OiBBcnJheTxudW1iZXI+ID0gWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV07XHJcbiAgcmFuZG9tVHlwZU1heCA9IFszLCAxMCwgMzAsIDkwXTtcclxuICByYW5kb21UeXBlID0gWydXZWVrbHknLCAnTW9udGhseScsICdRdWFydGVybHknLCAnWWVhcmx5J107XHJcbiAgcmFuZG9tSW5zdGFuY2VzID0gMDtcclxuICBkZWZhdWx0UmFuZG9tSW5zdGFuY2UgPSBbMiwgNSwgMTUsIDQ1XTtcclxuICByYW5kb21seURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIHJhbmRvbWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHJhbmRvbWx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5yYW5kb21seUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXHJcbiAgKTtcclxuICByYW5kb21seUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIHJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIHJhbmRvbVR5cGVTZWxlY3RlZCA9IDA7XHJcbiAgcmFuZG9tV2luZG93ID0gMjtcclxuICByYW5kb21GYWlsZWQgPSAyO1xyXG4gIHJhbmRvbU1vbnRoU2VsZWN0ZWQgPSBbXTtcclxuICByYW5kb21RdWFydGVybHlTZWxlY3RlZCA9IDE7XHJcbiAgcXVhcnRlcmx5R3JvdXAgPSBbMCwgMywgNiwgOSwgMSwgNCwgNywgMTAsIDIsIDUsIDgsIDExXTtcclxuICByYW5kb21UeXBlSW5zdGFuY2VzID0gWzIsIDUsIDE1LCA0NV07XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHNob3J0TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBxdWFydGVybHlNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb250aE5hbWVBcnJheSA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5KV07XHJcbiAgICB0aGlzLnF1YXJ0ZXJseU1vbnRoID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnF1YXJ0ZXJseU1vbnRoKV07XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAoKG1vbnRoOiBzdHJpbmcpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGluZGV4T2ZNb250aCA9IHRoaXMucXVhcnRlcmx5R3JvdXAuaW5kZXhPZihuZXcgRGF0ZSgpLmdldE1vbnRoKCkpO1xyXG4gICAgdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9XHJcbiAgICAgIGluZGV4T2ZNb250aCA8IDQgPyAwIDogaW5kZXhPZk1vbnRoID4gMyAmJiBpbmRleE9mTW9udGggPCA4ID8gMSA6IDI7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDhcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldFJhbmRvbUluc3RhbmNlcygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldFJhbmRvbUluc3RhbmNlcygpIHtcclxuICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzID0gdGhpcy5yYW5kb21UeXBlSW5zdGFuY2VzW3RoaXMucmFuZG9tVHlwZVNlbGVjdGVkXTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgZnJlcXVlbmN5U2VsZWN0ZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLnJhbmRvbVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLnJhbmRvbUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICB0aGlzLnJhbmRvbUluc3RhbmNlcyA9IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzNdKTtcclxuICAgIHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkID0gcGFyc2VJbnQoZnJlcXVlbmN5U2VsZWN0ZWRbMV0pIC0gMTtcclxuICAgIGlmICh0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IGZyZXF1ZW5jeVNlbGVjdGVkWzJdXHJcbiAgICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgICAubWFwKChlbGU6IGFueSkgPT4gcGFyc2VJbnQoZWxlKSAtIDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkID09IDIpIHtcclxuICAgICAgY29uc3QgbW9udGhSYW5kb20gPSBwYXJzZUludChmcmVxdWVuY3lTZWxlY3RlZFsyXS5zcGxpdCgnLCcpWzBdKTtcclxuICAgICAgY29uc3QgaW5kZXhSYW5kb20gPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobW9udGhSYW5kb20gLSAxKTtcclxuICAgICAgdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9XHJcbiAgICAgICAgaW5kZXhSYW5kb20gPCA0ID8gMCA6IGluZGV4UmFuZG9tID4gMyAmJiBpbmRleFJhbmRvbSA8IDggPyAxIDogMjtcclxuICAgIH1cclxuICAgIHRoaXMucmFuZG9tbHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuc3RhcnREYXRlID1cclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy5yYW5kb21seUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcclxuICAgICAgICBsaWZlY3ljbGVJbmZvWzBdICsgJyAnICsgREVGQVVMVF9USU1FLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMucmFuZG9tbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy5yYW5kb21seVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMucmFuZG9tbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSB0aGlzLnNlbGVjdGVkTW9udGhseS5maWx0ZXIoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMucmFuZG9tV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJhbmRvbUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRSYW5kb21GcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHJhbmRvbUNoZWNrZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yYW5kb21UeXBlU2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tSW5zdGFuY2VzKCk7XHJcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgcmFuZG9tSW5zdGFuY2UoZXZlbnQ6IGFueSwgdHlwZTogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSkpICYmXHJcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSAhPT0gJzAnICYmXHJcbiAgICAgIHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgPiAwICYmXHJcbiAgICAgIHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgPCB0aGlzLnJhbmRvbVR5cGVNYXhbdHlwZV0gKyAxXHJcbiAgICApIHtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzID1cclxuICAgICAgICB0aGlzLmRlZmF1bHRSYW5kb21JbnN0YW5jZVt0aGlzLnJhbmRvbVR5cGVTZWxlY3RlZF07XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFJhbmRvbUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZE1vbnRoKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICByYW5kb21RdWFydGVybHlDaGVja2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmFuZG9tUXVhcnRlcmx5U2VsZWN0ZWQgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0UmFuZG9tRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSYW5kb21GcmVxdWVuY3koKSB7XHJcbiAgICAvLzA6IHdlZWtseSAxOiBtb250aGx5IDI6cXVhcnRlcmx5IDM6IHllYXJseVxyXG4gICAgbGV0IGZyZXF1ZW5jeURldGFpbHM7XHJcbiAgICBzd2l0Y2ggKHRoaXMucmFuZG9tVHlwZVNlbGVjdGVkKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICBmcmVxdWVuY3lEZXRhaWxzID0gdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgZnJlcXVlbmN5RGV0YWlscyA9IHRoaXMuZ2V0WWVhcmx5RnJlcXVlbmN5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9IGZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm47XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSBmcmVxdWVuY3lEZXRhaWxzPy5wbGFjZWhvbGRlcjtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3JhbmRvbWx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMucmFuZG9tRmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMucmFuZG9tV2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjogOCArICd+JyArIDEgKyAnficgKyAwICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXHJcbiAgICAgIHBsYWNlaG9sZGVyOlxyXG4gICAgICAgICdFdmVyeSB3ZWVrIGZvciAnICsgdGhpcy5yYW5kb21JbnN0YW5jZXMgKyAnIHJhbmRvbSBpbnN0YW5jZXMnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRobHlGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHRoaXMuc2VsZWN0ZWRNb250aGx5LnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBzZWxlY3RlZE1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjpcclxuICAgICAgICA4ICsgJ34nICsgMiArICd+JyArIG1vbnRoSW5kZXguam9pbignLCcpICsgJ34nICsgdGhpcy5yYW5kb21JbnN0YW5jZXMsXHJcbiAgICAgIHBsYWNlaG9sZGVyOlxyXG4gICAgICAgICdFdmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgZm9yICcgK1xyXG4gICAgICAgIHRoaXMucmFuZG9tSW5zdGFuY2VzICtcclxuICAgICAgICAnIHJhbmRvbSBpbnN0YW5jZXMnLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpIHtcclxuICAgIGxldCBtb250aFNlcXVlbmNlID1cclxuICAgICAgdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9PT0gMFxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSgwLCA0KVxyXG4gICAgICAgIDogdGhpcy5yYW5kb21RdWFydGVybHlTZWxlY3RlZCA9PT0gMVxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg0LCA4KVxyXG4gICAgICAgIDogdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg4KTtcclxuICAgIG1vbnRoU2VxdWVuY2UgPSBtb250aFNlcXVlbmNlLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHBhdHRlcm46IDggKyAnficgKyAzICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxyXG4gICAgICBwbGFjZWhvbGRlcjpcclxuICAgICAgICAnRXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlNb250aFt0aGlzLnJhbmRvbVF1YXJ0ZXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBmb3IgJyArXHJcbiAgICAgICAgdGhpcy5yYW5kb21JbnN0YW5jZXMgK1xyXG4gICAgICAgICcgcmFuZG9tIGluc3RhbmNlcycsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0WWVhcmx5RnJlcXVlbmN5KCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0dGVybjpcclxuICAgICAgICA4ICsgJ34nICsgNCArICd+MSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTJ+JyArIHRoaXMucmFuZG9tSW5zdGFuY2VzLFxyXG4gICAgICBwbGFjZWhvbGRlcjpcclxuICAgICAgICAnRXZlcnkgeWVhciBmb3IgJyArIHRoaXMucmFuZG9tSW5zdGFuY2VzICsgJyByYW5kb20gaW5zdGFuY2VzJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXJhbmRvbSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJhbmRvbVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5UWVBFOjwvZGl2PiBcclxuICAgIDxhcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3RcclxuICAgIFtyYWRpb0xpc3RdPVwicmFuZG9tVHlwZVwiIFxyXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwicmFuZG9tVHlwZVNlbGVjdGVkXCIgXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJyYW5kb21DaGVja2VkKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ3JhbmRvbSdcIlxyXG4gICAgY2xhc3M9XCJyYW5kb20tcmFkaW9cIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3Q+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XHJcbiAgICAgICAgKm5nSWY9XCJyYW5kb21UeXBlU2VsZWN0ZWQgPT0gMlwiICBcclxuICAgICAgICBbcmFkaW9MaXN0XT1cInF1YXJ0ZXJseU1vbnRoXCJcclxuICAgICAgICBbbmFtZV09XCIncXVhcnRlcidcIiBcclxuICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJyYW5kb21RdWFydGVybHlTZWxlY3RlZFwiIFxyXG4gICAgICAgIChzZWxlY3RlZFJhZGlvKT1cInJhbmRvbVF1YXJ0ZXJseUNoZWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgY2xhc3M9XCJxdWFydGVybHktcmFkaW9cIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgID5cclxuICAgIDwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxyXG4gICAgPGFwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdFxyXG4gICAgICAgICpuZ0lmPVwicmFuZG9tVHlwZVNlbGVjdGVkID09IDFcIiAgXHJcbiAgICAgICAgW2lkXT1cIjhcIlxyXG4gICAgICAgIFtsaXN0QXJyYXldPVwibW9udGhOYW1lQXJyYXlcIlxyXG4gICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkTW9udGhseVwiXHJcbiAgICAgICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgIGNsYXNzPVwibW9udGhseS1jaGVja2JveFwiXHJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJhbmRvbS1tZXNzYWdlIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5SYW5kb20gb2NjdXJyZW5jZSBmb3I8L2Rpdj5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJhbmRvbUluc3RhbmNlc1wiIChjaGFuZ2UpPVwicmFuZG9tSW5zdGFuY2UoJGV2ZW50LCByYW5kb21UeXBlU2VsZWN0ZWQpXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5pbnN0YW5jZXMuIE5vdGUsIHRoZSBtYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyBmb3IgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDBcIj57eyByYW5kb21UeXBlW3JhbmRvbVR5cGVTZWxlY3RlZF0udG9Mb3dlckNhc2UoKSB9fTwvc3Bhbj4gaXMge3sgcmFuZG9tVHlwZU1heFtyYW5kb21UeXBlU2VsZWN0ZWRdIH19LjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgICAgIFtpZF0gPSAnOCdcclxuICAgICAgICBbcGFnZU5hbWVdPVwiJ3JhbmRvbSdcIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgIFtpc0RlYWN0aXZhdGVkXT1cImZhbHNlXCJcclxuICAgICAgICBbY29tcGxldGVkVmFsdWVdPVwicmFuZG9tV2luZG93XCJcclxuICAgICAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicmFuZG9tRmFpbGVkXCJcclxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcclxuICAgICAgICBbaWRdPVwiOFwiXHJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgICAgICBbZW5kRGF0ZV09XCJyYW5kb21seUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgICAgIFtvY2N1cnJhbmNlXT1cInJhbmRvbWx5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgICAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInJhbmRvbWx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,13 +1,17 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import moment from 'moment/moment';
3
+ import { DEFAULT_TIME } from '../../../constants/time.constants';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
5
6
  import * as i2 from "@angular/common";
7
+ import * as i3 from "../../../ui-kit/popover/popover.component";
8
+ import * as i4 from "../../../ui-kit/popover/popover.directive";
9
+ import * as i5 from "../../../ui-kit/time-picker/time-picker/time-picker.component";
6
10
  export class FrequencyTopComponent {
7
11
  constructor() {
8
12
  this.occurrenceFirst = 0;
9
13
  this.id = 0; // 0 = Daily, 1: weekly, 5: Annually
10
- this.inputTime = '11:59 PM';
14
+ this.inputTime = DEFAULT_TIME;
11
15
  this.frequencyType = 0; // 0 = days, 1 = weeks & 2 = years
12
16
  this.yearlyDay = new Date().getDate();
13
17
  this.valueChangedFirst = new EventEmitter();
@@ -15,9 +19,10 @@ export class FrequencyTopComponent {
15
19
  this.timeChanged = new EventEmitter();
16
20
  this.yearlyDateChanged = new EventEmitter();
17
21
  this.mode = '';
22
+ this.DEFAULT_TIME = DEFAULT_TIME;
18
23
  this.todayDate = new Date();
19
24
  this.dateObjectData = new Date();
20
- this.timeData = '11:59 PM';
25
+ this.timeData = DEFAULT_TIME;
21
26
  }
22
27
  ngOnInit() { }
23
28
  enterValueFirst(event, actionType) {
@@ -88,19 +93,22 @@ export class FrequencyTopComponent {
88
93
  this.yearlyDay !== 0 &&
89
94
  Number(this.yearlyDay) > 0 &&
90
95
  Number(this.yearlyDay) < 32) {
91
- //this.yearlyDay = Number(event.target.value);
92
96
  this.yearlyDateChanged.emit(this.yearlyDay);
93
97
  }
94
98
  else {
95
99
  this.yearlyDay = new Date().getDate();
96
100
  }
97
101
  }
102
+ timeSelection(event) {
103
+ const selectedValue = event.selectedValue;
104
+ this.onTimeChanged(selectedValue);
105
+ }
98
106
  }
99
107
  FrequencyTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
100
- FrequencyTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyTopComponent, selector: "app-frequency-top", inputs: { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay", mode: "mode" }, outputs: { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, ngImport: i0, template: "<div *ngIf=\"mode !== 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{id === 0 || id === 1 || id === 5 ? 'Every' : 'Day'}}</div>\r\n <input type=\"number\" [id]=\"'occurrence' + id\" [(ngModel)]=\"occurrenceFirst\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" (focusout) = \"enterValueFirst($event, 'occurrenceFirst')\" >\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'days' : 'day' }} by</div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'weeks' : 'week' }} by</div>\r\n <div *ngIf=\"id !== 0 && id !== 1 && id !== 5\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{ occurrenceFirst > 1 ? 'years' : 'year' }} on day</div>\r\n <input class=\"countNum\" type=\"number\" [id]=\"'occurrence-day' + id\" [(ngModel)]=\"yearlyDay\" (focusout)=\"enterYearDay($event)\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"/>\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n \r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n<!-- For Policy -->\r\n\r\n<div *ngIf=\"mode === 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{id === 0 || id === 1 || id === 5 ? 'Every' : 'Day'}}</div>\r\n <input type=\"number\" [id]=\"'occurrence' + id\" [(ngModel)]=\"occurrenceFirst\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" (focusout) = \"enterValueFirst($event, 'occurrenceFirst')\">\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'days' : 'day' }} by</div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'weeks' : 'week' }} by</div>\r\n <div *ngIf=\"id !== 0 && id !== 1 && id !== 5\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{ occurrenceFirst > 1 ? 'years' : 'year' }} on day</div>\r\n <input class=\"countNum\" type=\"number\" [id]=\"'occurrence-day' + id\" [(ngModel)]=\"yearlyDay\" (focusout)=\"enterYearDay($event)\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"/>\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n \r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" type=\"text\" [id]=\"'time-picker-input-top'+id\" [(ngModel)]=\"inputTime\" readonly placeholder=\"Select Time\">\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-top-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-top-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-top-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-top-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-top-box .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-top-box .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;text-transform:uppercase}::ng-deep .frequency-top-box .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-top-box .time-picker-group .time-field{position:relative}::ng-deep .frequency-top-box .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
108
+ FrequencyTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyTopComponent, selector: "app-frequency-top", inputs: { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay", mode: "mode" }, outputs: { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, ngImport: i0, template: "<div *ngIf=\"mode !== 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"countNum\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"days\" : \"day\" }} by\r\n </div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\"\r\n >\r\n by\r\n </div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n class=\"countNum\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"timePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input class=\"input\" [placeholder]=\"inputTime\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i>\r\n </div>\r\n </div>\r\n <app-popover #timePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"inputTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); timePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- For Policy -->\r\n\r\n<div *ngIf=\"mode === 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"countNum\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"days\" : \"day\" }} by\r\n </div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\"\r\n >\r\n by\r\n </div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n class=\"countNum\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"policyTimePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input\r\n class=\"input\"\r\n type=\"text\"\r\n [id]=\"'time-picker-input-top' + id\"\r\n [(ngModel)]=\"inputTime\"\r\n readonly\r\n placeholder=\"Select Time\"\r\n />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i>\r\n </div>\r\n </div>\r\n <app-popover #policyTimePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"inputTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); policyTimePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-top-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-top-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-top-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-top-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-top-box .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-top-box .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;text-transform:uppercase;cursor:pointer}::ng-deep .frequency-top-box .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-top-box .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-top-box .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.TimePickerComponent, selector: "app-time-picker", inputs: ["time"], outputs: ["onTimeSelection"] }] });
101
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyTopComponent, decorators: [{
102
110
  type: Component,
103
- args: [{ selector: 'app-frequency-top', template: "<div *ngIf=\"mode !== 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{id === 0 || id === 1 || id === 5 ? 'Every' : 'Day'}}</div>\r\n <input type=\"number\" [id]=\"'occurrence' + id\" [(ngModel)]=\"occurrenceFirst\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" (focusout) = \"enterValueFirst($event, 'occurrenceFirst')\" >\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'days' : 'day' }} by</div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'weeks' : 'week' }} by</div>\r\n <div *ngIf=\"id !== 0 && id !== 1 && id !== 5\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{ occurrenceFirst > 1 ? 'years' : 'year' }} on day</div>\r\n <input class=\"countNum\" type=\"number\" [id]=\"'occurrence-day' + id\" [(ngModel)]=\"yearlyDay\" (focusout)=\"enterYearDay($event)\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"/>\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n \r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n<!-- For Policy -->\r\n\r\n<div *ngIf=\"mode === 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{id === 0 || id === 1 || id === 5 ? 'Every' : 'Day'}}</div>\r\n <input type=\"number\" [id]=\"'occurrence' + id\" [(ngModel)]=\"occurrenceFirst\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\" (focusout) = \"enterValueFirst($event, 'occurrenceFirst')\">\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'days' : 'day' }} by</div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">{{ occurrenceFirst > 1 ? 'weeks' : 'week' }} by</div>\r\n <div *ngIf=\"id !== 0 && id !== 1 && id !== 5\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">{{ occurrenceFirst > 1 ? 'years' : 'year' }} on day</div>\r\n <input class=\"countNum\" type=\"number\" [id]=\"'occurrence-day' + id\" [(ngModel)]=\"yearlyDay\" (focusout)=\"enterYearDay($event)\" onkeydown=\"return event.keyCode !== 190\" min=\"0\" oninput=\"this.value = Math.abs(this.value)\"/>\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n \r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" type=\"text\" [id]=\"'time-picker-input-top'+id\" [(ngModel)]=\"inputTime\" readonly placeholder=\"Select Time\">\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-top-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-top-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-top-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-top-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-top-box .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-top-box .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;text-transform:uppercase}::ng-deep .frequency-top-box .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-top-box .time-picker-group .time-field{position:relative}::ng-deep .frequency-top-box .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}\n"] }]
111
+ args: [{ selector: 'app-frequency-top', template: "<div *ngIf=\"mode !== 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"countNum\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"days\" : \"day\" }} by\r\n </div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\"\r\n >\r\n by\r\n </div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n class=\"countNum\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"timePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input class=\"input\" [placeholder]=\"inputTime\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i>\r\n </div>\r\n </div>\r\n <app-popover #timePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"inputTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); timePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- For Policy -->\r\n\r\n<div *ngIf=\"mode === 'policy'\" class=\"frequency-top\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-top-box vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"countNum\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div *ngIf=\"frequencyType === 0\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"days\" : \"day\" }} by\r\n </div>\r\n <div *ngIf=\"frequencyType === 1\" class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\"\r\n >\r\n by\r\n </div>\r\n\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n class=\"countNum\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">by</div>\r\n </ng-container>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"policyTimePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input\r\n class=\"input\"\r\n type=\"text\"\r\n [id]=\"'time-picker-input-top' + id\"\r\n [(ngModel)]=\"inputTime\"\r\n readonly\r\n placeholder=\"Select Time\"\r\n />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\">&#xe955;</i>\r\n </div>\r\n </div>\r\n <app-popover #policyTimePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"inputTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); policyTimePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-top-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-top-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-top-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-top-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-top-box .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-top-box .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;text-transform:uppercase;cursor:pointer}::ng-deep .frequency-top-box .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-top-box .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-top-box .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}\n"] }]
104
112
  }], ctorParameters: function () { return []; }, propDecorators: { occurrenceFirst: [{
105
113
  type: Input
106
114
  }], id: [{
@@ -122,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
122
130
  }], mode: [{
123
131
  type: Input
124
132
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7O0FBTW5DLE1BQU0sT0FBTyxxQkFBcUI7SUFnQmhDO1FBZlMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsT0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLG9DQUFvQztRQUM1QyxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1FBQ3JELGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhDLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdB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QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS10b3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9jY3VycmVuY2VGaXJzdCA9IDA7XHJcbiAgQElucHV0KCkgaWQgPSAwOyAvLyAwID0gRGFpbHksIDE6IHdlZWtseSwgNTogQW5udWFsbHlcclxuICBASW5wdXQoKSBpbnB1dFRpbWUgPSAnMTE6NTkgUE0nO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeVR5cGUgPSAwOyAvLyAwID0gZGF5cywgMSA9IHdlZWtzICYgMiA9IHllYXJzXHJcbiAgQElucHV0KCkgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWRGaXJzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5leHREaXNhYmxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdGltZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB5ZWFybHlEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcblxyXG4gIHRvZGF5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZSgpO1xyXG4gIHRpbWVEYXRhID0gJzExOjU5IFBNJztcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZW50ZXJWYWx1ZUZpcnN0KGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuaWQgIT09IDAgJiYgdGhpcy5pZCAhPT0gMSAmJiB0aGlzLmlkICE9PSA1KSB7XHJcbiAgICAgIHRoaXMuZW50ZXJWYWx1ZSh0aGlzLm9jY3VycmVuY2VGaXJzdCwgYWN0aW9uVHlwZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpKSAmJlxyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRlclZhbHVlKGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcihldmVudCkpICYmXHJcbiAgICAgIGV2ZW50ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPiAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPCAzMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKGV2ZW50KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoZXZlbnQpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9kYXkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk/LnNwbGl0KCcgJylbMF07XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMudGltZURhdGEgPSBldmVudDtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAgICctJyArXHJcbiAgICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgdGhpcy50aW1lRGF0YSxcclxuICAgICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KHRydWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVudGVyWWVhckRheShldmVudDogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMueWVhcmx5RGF5KSkgJiZcclxuICAgICAgdGhpcy55ZWFybHlEYXkgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA+IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA8IDMyXHJcbiAgICApIHtcclxuICAgICAgLy90aGlzLnllYXJseURheSA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICB0aGlzLnllYXJseURhdGVDaGFuZ2VkLmVtaXQodGhpcy55ZWFybHlEYXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy55ZWFybHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm1vZGUgIT09ICdwb2xpY3knXCIgY2xhc3M9XCJmcmVxdWVuY3ktdG9wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkRVRSBEQVRFIEZSRVFVRU5DWTo8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wLWJveCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+e3tpZCA9PT0gMCB8fCBpZCA9PT0gMSB8fCBpZCA9PT0gNSA/ICdFdmVyeScgOiAnRGF5J319PC9kaXY+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIiBbKG5nTW9kZWwpXT1cIm9jY3VycmVuY2VGaXJzdFwiIGNsYXNzPVwiY291bnROdW1cIiBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIiAoZm9jdXNvdXQpID0gXCJlbnRlclZhbHVlRmlyc3QoJGV2ZW50LCAnb2NjdXJyZW5jZUZpcnN0JylcIiA+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDBcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAnZGF5cycgOiAnZGF5JyB9fSBieTwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAxXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3dlZWtzJyA6ICd3ZWVrJyB9fSBieTwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpZCAhPT0gMCAmJiBpZCAhPT0gMSAmJiBpZCAhPT0gNVwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+Ynk8L2Rpdj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3llYXJzJyA6ICd5ZWFyJyB9fSBvbiBkYXk8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiY291bnROdW1cIiB0eXBlPVwibnVtYmVyXCIgW2lkXT1cIidvY2N1cnJlbmNlLWRheScgKyBpZFwiIFsobmdNb2RlbCldPVwieWVhcmx5RGF5XCIgKGZvY3Vzb3V0KT1cImVudGVyWWVhckRheSgkZXZlbnQpXCIgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiLz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPmJ5PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlci1ncm91cCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0XCIgcGxhY2Vob2xkZXI9XCIxMTo1OSBQTVwiIHJlYWRvbmx5IC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuPCEtLSBGb3IgUG9saWN5IC0tPlxyXG5cclxuPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdwb2xpY3knXCIgY2xhc3M9XCJmcmVxdWVuY3ktdG9wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkRVRSBEQVRFIEZSRVFVRU5DWTo8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wLWJveCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+e3tpZCA9PT0gMCB8fCBpZCA9PT0gMSB8fCBpZCA9PT0gNSA/ICdFdmVyeScgOiAnRGF5J319PC9kaXY+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIiBbKG5nTW9kZWwpXT1cIm9jY3VycmVuY2VGaXJzdFwiIGNsYXNzPVwiY291bnROdW1cIiBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIiAoZm9jdXNvdXQpID0gXCJlbnRlclZhbHVlRmlyc3QoJGV2ZW50LCAnb2NjdXJyZW5jZUZpcnN0JylcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMFwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICdkYXlzJyA6ICdkYXknIH19IGJ5PC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDFcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAnd2Vla3MnIDogJ3dlZWsnIH19IGJ5PC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAneWVhcnMnIDogJ3llYXInIH19IG9uIGRheTwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCIgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIiAoZm9jdXNvdXQpPVwiZW50ZXJZZWFyRGF5KCRldmVudClcIiAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+Ynk8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlci1ncm91cCB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0XCIgdHlwZT1cInRleHRcIiBbaWRdPVwiJ3RpbWUtcGlja2VyLWlucHV0LXRvcCcraWRcIiBbKG5nTW9kZWwpXT1cImlucHV0VGltZVwiIHJlYWRvbmx5ICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+PGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU1qRSxNQUFNLE9BQU8scUJBQXFCO0lBZ0JoQztRQWZTLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7UUFDNUMsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixrQkFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztRQUNyRCxjQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoQyxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0QsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUN4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LGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNFLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXRvcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeVRvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgb2NjdXJyZW5jZUZpcnN0ID0gMDtcclxuICBASW5wdXQoKSBpZCA9IDA7IC8vIDAgPSBEYWlseSwgMTogd2Vla2x5LCA1OiBBbm51YWxseVxyXG4gIEBJbnB1dCgpIGlucHV0VGltZSA9IERFRkFVTFRfVElNRTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lUeXBlID0gMDsgLy8gMCA9IGRheXMsIDEgPSB3ZWVrcyAmIDIgPSB5ZWFyc1xyXG4gIEBJbnB1dCgpIHllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG5cclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkRmlyc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBuZXh0RGlzYWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHRpbWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgeWVhcmx5RGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG4gIERFRkFVTFRfVElNRSA9IERFRkFVTFRfVElNRTtcclxuICB0b2RheURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVPYmplY3REYXRhID0gbmV3IERhdGUoKTtcclxuICB0aW1lRGF0YSA9IERFRkFVTFRfVElNRTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZW50ZXJWYWx1ZUZpcnN0KGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuaWQgIT09IDAgJiYgdGhpcy5pZCAhPT0gMSAmJiB0aGlzLmlkICE9PSA1KSB7XHJcbiAgICAgIHRoaXMuZW50ZXJWYWx1ZSh0aGlzLm9jY3VycmVuY2VGaXJzdCwgYWN0aW9uVHlwZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpKSAmJlxyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRlclZhbHVlKGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcihldmVudCkpICYmXHJcbiAgICAgIGV2ZW50ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPiAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPCAzMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKGV2ZW50KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoZXZlbnQpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9kYXkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk/LnNwbGl0KCcgJylbMF07XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMudGltZURhdGEgPSBldmVudDtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAgICctJyArXHJcbiAgICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgdGhpcy50aW1lRGF0YSxcclxuICAgICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KHRydWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVudGVyWWVhckRheShldmVudDogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMueWVhcmx5RGF5KSkgJiZcclxuICAgICAgdGhpcy55ZWFybHlEYXkgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA+IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA8IDMyXHJcbiAgICApIHtcclxuICAgICAgdGhpcy55ZWFybHlEYXRlQ2hhbmdlZC5lbWl0KHRoaXMueWVhcmx5RGF5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMueWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRpbWVTZWxlY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGV2ZW50LnNlbGVjdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uVGltZUNoYW5nZWQoc2VsZWN0ZWRWYWx1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiIGNsYXNzPVwiZnJlcXVlbmN5LXRvcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XHJcbiAgICBEVUUgREFURSBGUkVRVUVOQ1k6XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10b3AtYm94IHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPlxyXG4gICAgICB7eyBpZCA9PT0gMCB8fCBpZCA9PT0gMSB8fCBpZCA9PT0gNSA/IFwiRXZlcnlcIiA6IFwiRGF5XCIgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIm9jY3VycmVuY2VGaXJzdFwiXHJcbiAgICAgIGNsYXNzPVwiY291bnROdW1cIlxyXG4gICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcclxuICAgICAgbWluPVwiMFwiXHJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgICAoZm9jdXNvdXQpPVwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCJcclxuICAgIC8+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMFwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+XHJcbiAgICAgIHt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyBcImRheXNcIiA6IFwiZGF5XCIgfX0gYnlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDFcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPlxyXG4gICAgICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gXCJ3ZWVrc1wiIDogXCJ3ZWVrXCIgfX0gYnlcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCJcclxuICAgICAgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIlxyXG4gICAgPlxyXG4gICAgICBieVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5cclxuICAgICAgICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gXCJ5ZWFyc1wiIDogXCJ5ZWFyXCIgfX0gb24gZGF5XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cImNvdW50TnVtXCJcclxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInllYXJseURheVwiXHJcbiAgICAgICAgKGZvY3Vzb3V0KT1cImVudGVyWWVhckRheSgkZXZlbnQpXCJcclxuICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcclxuICAgICAgICBtaW49XCIwXCJcclxuICAgICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcclxuICAgICAgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPmJ5PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItZ3JvdXAgdngtZC1mbGV4XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInRpbWUtZmllbGRcIlxyXG4gICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAoY2xpY2spPVwidGltZVBpY2tlci5wb3BvdmVyKClcIlxyXG4gICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0XCIgW3BsYWNlaG9sZGVyXT1cImlucHV0VGltZVwiIHJlYWRvbmx5IC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsb2NrLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLXBvcG92ZXIgI3RpbWVQaWNrZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxhcHAtdGltZS1waWNrZXJcclxuICAgICAgICAgIFt0aW1lXT1cImlucHV0VGltZVwiXHJcbiAgICAgICAgICAob25UaW1lU2VsZWN0aW9uKT1cIlxyXG4gICAgICAgICAgICB0aW1lU2VsZWN0aW9uKCRldmVudCk7IHRpbWVQaWNrZXIuY2xvc2VQb3BvdmVyKCd0b3AnKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+PC9hcHAtdGltZS1waWNrZXI+XHJcbiAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIEZvciBQb2xpY3kgLS0+XHJcblxyXG48ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ3BvbGljeSdcIiBjbGFzcz1cImZyZXF1ZW5jeS10b3BcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxyXG4gICAgRFVFIERBVEUgRlJFUVVFTkNZOlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wLWJveCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj5cclxuICAgICAge3sgaWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyBcIkV2ZXJ5XCIgOiBcIkRheVwiIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgW2lkXT1cIidvY2N1cnJlbmNlJyArIGlkXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJvY2N1cnJlbmNlRmlyc3RcIlxyXG4gICAgICBjbGFzcz1cImNvdW50TnVtXCJcclxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXHJcbiAgICAgIG1pbj1cIjBcIlxyXG4gICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcclxuICAgICAgKGZvY3Vzb3V0KT1cImVudGVyVmFsdWVGaXJzdCgkZXZlbnQsICdvY2N1cnJlbmNlRmlyc3QnKVwiXHJcbiAgICAvPlxyXG4gICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDBcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPlxyXG4gICAgICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gXCJkYXlzXCIgOiBcImRheVwiIH19IGJ5XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAxXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5cclxuICAgICAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/IFwid2Vla3NcIiA6IFwid2Vla1wiIH19IGJ5XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJpZCAhPT0gMCAmJiBpZCAhPT0gMSAmJiBpZCAhPT0gNVwiXHJcbiAgICAgIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCJcclxuICAgID5cclxuICAgICAgYnlcclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+XHJcbiAgICAgICAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/IFwieWVhcnNcIiA6IFwieWVhclwiIH19IG9uIGRheVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJjb3VudE51bVwiXHJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgW2lkXT1cIidvY2N1cnJlbmNlLWRheScgKyBpZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIlxyXG4gICAgICAgIChmb2N1c291dCk9XCJlbnRlclllYXJEYXkoJGV2ZW50KVwiXHJcbiAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXHJcbiAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyLWdyb3VwIHZ4LWQtZmxleFwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0aW1lLWZpZWxkXCJcclxuICAgICAgICBhcHBQb3BvdmVyXHJcbiAgICAgICAgKGNsaWNrKT1cInBvbGljeVRpbWVQaWNrZXIucG9wb3ZlcigpXCJcclxuICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGNsYXNzPVwiaW5wdXRcIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnICsgaWRcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRpbWVcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRpbWVcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsb2NrLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLXBvcG92ZXIgI3BvbGljeVRpbWVQaWNrZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxhcHAtdGltZS1waWNrZXJcclxuICAgICAgICAgIFt0aW1lXT1cImlucHV0VGltZVwiXHJcbiAgICAgICAgICAob25UaW1lU2VsZWN0aW9uKT1cIlxyXG4gICAgICAgICAgICB0aW1lU2VsZWN0aW9uKCRldmVudCk7IHBvbGljeVRpbWVQaWNrZXIuY2xvc2VQb3BvdmVyKCd0b3AnKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+PC9hcHAtdGltZS1waWNrZXI+XHJcbiAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import moment from 'moment/moment';
3
+ import { DEFAULT_TIME } from '../../../constants/time.constants';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../frequency.service";
5
6
  import * as i2 from "../frequency-top/frequency-top.component";
@@ -10,7 +11,7 @@ export class FrequencyWeeklyComponent {
10
11
  constructor(frequencyService) {
11
12
  this.frequencyService = frequencyService;
12
13
  this.mode = '';
13
- this.weeklyInterval = '11:59 pm';
14
+ this.weeklyInterval = DEFAULT_TIME;
14
15
  this.weeklyInput = 1;
15
16
  this.weeklyFailed = 2;
16
17
  this.weeklyWindow = 2;
@@ -53,7 +54,7 @@ export class FrequencyWeeklyComponent {
53
54
  this.weeklyFailed = this.frequencyData.failed;
54
55
  this.weeklyDeactivatedValue = this.frequencyData.continuous_failed_days;
55
56
  if (lifecycleInfo[0] !== '0000-00-00') {
56
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
57
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
57
58
  this.weeklyLifeCycleEndTime = new Date(dateSelected * 1000);
58
59
  }
59
60
  this.lifecycleDetails = this.frequencyData.lifecycle;
@@ -196,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
196
197
  }], frequencyDetails: [{
197
198
  type: Output
198
199
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT25DLE1BQU0sT0FBTyx3QkFBd0I7SUEwQm5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLG1CQUFjLEdBQUcsVUFBVSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHlCQUFvQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLENBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQy9DLENBQUM7UUFDRiw2QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUks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Q3JCLFdBQVc7Z0JBQ1QsUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDcEU7UUFDRCxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVztnQkFDVCxrQkFBa0I7b0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUN0QixNQUFNO29CQUNOLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDdkI7UUFDRCxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVztnQkFDVCxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN4RTtRQUNELElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtZQUNuQixXQUFXO2dCQUNULFFBQVE7b0JBQ1IsSUFBSSxDQUFDLFdBQVc7b0JBQ2hCLEtBQUs7b0JBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7O3FIQXJNVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1TkNUckMsazNDQXdDQTsyRkQvQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjt1R0FLdkIsSUFBSTtzQkFBWixLQUFLO2dCQW1CRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktd2Vla2x5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5V2Vla2x5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgd2Vla2x5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIHdlZWtseUlucHV0ID0gMTtcclxuICB3ZWVrbHlGYWlsZWQgPSAyO1xyXG4gIHdlZWtseVdpbmRvdyA9IDI7XHJcbiAgd2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHdlZWtseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIHdlZWtseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIHdlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBzZWxlY3RlZFdlZWtseSA9IFtuZXcgRGF0ZSgpLmdldERheSgpID09IDAgPyA2IDogbmV3IERhdGUoKS5nZXREYXkoKSAtIDFdO1xyXG4gIHdlZWtseURlYWN0aXZhdGVkVmFsdWUgPSAxMDtcclxuICBkYXlBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRheUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWUpXTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkgPSBwYXR0ZXJuSW5mb1sxXVxyXG4gICAgICAuc3BsaXQoJywnKVxyXG4gICAgICAubWFwKChlbGU6IGFueSkgPT4gTnVtYmVyKGVsZSkgLSAxKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy53ZWVrbHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy53ZWVrbHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy53ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPVxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnRGcm9tID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXHJcbiAgICAgICh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUpICogMTAwMFxyXG4gICAgKTtcclxuICAgIHRoaXMud2Vla2x5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMud2Vla2x5SW50ZXJ2YWwgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLndlZWtseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25EYXlTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2Vla2x5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuZmlsdGVyKFxyXG4gICAgICAgIChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRfdGltZV91dGMgPSBlbmRCeURhdGU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2RlYWN0aXZhdGVkJykge1xyXG4gICAgICB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy53ZWVrbHlXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2Vla2x5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoXHJcbiAgICAgIE51bWJlcih0aGlzLndlZWtseUlucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgMiArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IGVsZSArIDEpLmpvaW4oJywnKSArXHJcbiAgICAgICd+JyArXHJcbiAgICAgICcwJyArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMud2Vla2x5SW5wdXQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICd3ZWVrJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMud2Vla2x5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMud2Vla2x5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID8/IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy53ZWVrbHlEZWFjdGl2YXRlZFZhbHVlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKHdlZWtseUlucHV0OiBudW1iZXIpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgd2Vla2x5SW5wdXQgPSBOdW1iZXIod2Vla2x5SW5wdXQpO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkRGF5ID0gdGhpcy5zZWxlY3RlZFdlZWtseS5tYXAoKGVsZSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWVbZWxlXTtcclxuICAgIH0pO1xyXG4gICAgaWYgKHdlZWtseUlucHV0ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnRXZlcnkgJyArIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHdlZWtseUlucHV0ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnRXZlcnkgYWx0ZXJuYXRlICcgK1xyXG4gICAgICAgIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5IDNyZCAnICsgc2VsZWN0ZWREYXkuam9pbignLCAnKSArICcgYnkgJyArIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAod2Vla2x5SW5wdXQgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnRXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy53ZWVrbHlJbnB1dCArXHJcbiAgICAgICAgJ3RoICcgK1xyXG4gICAgICAgIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcbn1cclxuIiwiPCEtLSA8cD5mcmVxdWVuY3ktd2Vla2x5IHdvcmtzITwvcD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktd2Vla2x5XCI+XHJcbiAgPGFwcC1mcmVxdWVuY3ktdG9wXHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbaW5wdXRUaW1lXT1cIndlZWtseUludGVydmFsXCJcclxuICAgIFtvY2N1cnJlbmNlRmlyc3RdPVwid2Vla2x5SW5wdXRcIlxyXG4gICAgW2ZyZXF1ZW5jeVR5cGVdPVwiMVwiXHJcbiAgICAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICh2YWx1ZUNoYW5nZWRGaXJzdCk9XCJ2YWx1ZUNoYW5nZWRGaXJzdCgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktdG9wPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3RcclxuICAgIFtpZF09XCIxXCJcclxuICAgIFtsaXN0QXJyYXldPVwiZGF5QXJyYXlcIlxyXG4gICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRXZWVrbHlcIlxyXG4gICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25EYXlTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdD5cclxuICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbcGFnZU5hbWVdPVwiJ3dlZWtseSdcIlxyXG4gICAgW2RlYWN0aXZhdGVWYWx1ZV09XCJ3ZWVrbHlEZWFjdGl2YXRlZFZhbHVlXCJcclxuICAgIFtpc0RlYWN0aXZhdGVkXT1cInRydWVcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cIndlZWtseVdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwid2Vla2x5RmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cIndlZWtseUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgIFtlbmREYXRlXT1cIndlZWtseUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgW29jY3VycmFuY2VdPVwid2Vla2x5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwid2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgKHNlbGVjdGVkT2NjdXJhbmNlKT1cImxpZmVjeWNsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxyXG48L2Rpdj5cclxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sd0JBQXdCO0lBMEJuQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCN0MsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUV4QixtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUM5QixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQix5QkFBb0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xDLDJCQUFzQixHQUFHLElBQUksSUFBSSxDQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUMvQyxDQUFDO1FBQ0YsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLCtCQUEwQixHQUFH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UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVztnQkFDVCxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNwRTtRQUNELElBQUksV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNyQixXQUFXO2dCQUNULGtCQUFrQjtvQkFDbEIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELElBQUksV0FBVyxLQUFLLENBQUMsRUFBRTtZQUNyQixXQUFXO2dCQUNULFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLFdBQVc7Z0JBQ1QsUUFBUTtvQkFDUixJQUFJLENBQUMsV0FBVztvQkFDaEIsS0FBSztvQkFDTCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDdEIsTUFBTTtvQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7cUhBck1VLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHVOQ1ZyQyxrM0NBd0NBOzJGRDlCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3VHQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS13ZWVrbHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICB3ZWVrbHlJbnRlcnZhbCA9IERFRkFVTFRfVElNRTtcclxuICB3ZWVrbHlJbnB1dCA9IDE7XHJcbiAgd2Vla2x5RmFpbGVkID0gMjtcclxuICB3ZWVrbHlXaW5kb3cgPSAyO1xyXG4gIHdlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICB3ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXHJcbiAgKTtcclxuICB3ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICB3ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgc2VsZWN0ZWRXZWVrbHkgPSBbbmV3IERhdGUoKS5nZXREYXkoKSA9PSAwID8gNiA6IG5ldyBEYXRlKCkuZ2V0RGF5KCkgLSAxXTtcclxuICB3ZWVrbHlEZWFjdGl2YXRlZFZhbHVlID0gMTA7XHJcbiAgZGF5QXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuXHJcbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXlBcnJheSA9IFsuLi5uZXcgU2V0KHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXlOYW1lKV07XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+Jyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2Vla2x5ID0gcGF0dGVybkluZm9bMV1cclxuICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgLm1hcCgoZWxlOiBhbnkpID0+IE51bWJlcihlbGUpIC0gMSk7XHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMud2Vla2x5SW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMud2Vla2x5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcclxuICAgIHRoaXMud2Vla2x5SW5wdXQgPSBwYXR0ZXJuSW5mb1szXTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhcnREYXRlID1cclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgdGhpcy53ZWVrbHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKFxyXG4gICAgICAodGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlKSAqIDEwMDBcclxuICAgICk7XHJcbiAgICB0aGlzLndlZWtseUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuY29udGludW91c19mYWlsZWRfZGF5cztcclxuICAgIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgY29uc3QgZGF0ZVNlbGVjdGVkID0gbW9tZW50KFxyXG4gICAgICAgIGxpZmVjeWNsZUluZm9bMF0gKyAnICcgKyBERUZBVUxUX1RJTUUsXHJcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgdGhpcy53ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlO1xyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gICAgfSBlbHNlIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMud2Vla2x5SW5wdXQgPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvbkRheVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkucHVzaChldmVudC5pbmRleCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2Vla2x5ID0gdGhpcy5zZWxlY3RlZFdlZWtseS5maWx0ZXIoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tIC8gMTAwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeVxyXG4gICAgICAgID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KClcclxuICAgICAgICA6IGVuZEJ5RGF0ZTtcclxuICAgIH1cclxuICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSAqIDEwMDApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnZGVhY3RpdmF0ZWQnKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLndlZWtseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53ZWVrbHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRXZWVrbHlGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2Vla2x5ID0gdGhpcy5zZWxlY3RlZFdlZWtseS5zb3J0KChuMSwgbjIpID0+IG4xIC0gbjIpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlcihcclxuICAgICAgTnVtYmVyKHRoaXMud2Vla2x5SW5wdXQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICAyICtcclxuICAgICAgJ34nICtcclxuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseS5tYXAoKGVsZSkgPT4gZWxlICsgMSkuam9pbignLCcpICtcclxuICAgICAgJ34nICtcclxuICAgICAgJzAnICtcclxuICAgICAgJ34nICtcclxuICAgICAgdGhpcy53ZWVrbHlJbnB1dDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3dlZWsnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy53ZWVrbHlGYWlsZWQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy53ZWVrbHlXaW5kb3c7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKFxyXG4gICAgICB0aGlzLndlZWtseUludGVydmFsXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID1cclxuICAgICAgdGhpcy5zdGFydERhdGUgPz8gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPSB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGxhY2Vob2xkZXIod2Vla2x5SW5wdXQ6IG51bWJlcikge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICB3ZWVrbHlJbnB1dCA9IE51bWJlcih3ZWVrbHlJbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWREYXkgPSB0aGlzLnNlbGVjdGVkV2Vla2x5Lm1hcCgoZWxlKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZGF5TmFtZVtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSAnICsgc2VsZWN0ZWREYXkuam9pbignLCAnKSArICcgYnkgJyArIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSBhbHRlcm5hdGUgJyArXHJcbiAgICAgICAgc2VsZWN0ZWREYXkuam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHdlZWtseUlucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnRXZlcnkgM3JkICcgKyBzZWxlY3RlZERheS5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy53ZWVrbHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh3ZWVrbHlJbnB1dCA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSAnICtcclxuICAgICAgICB0aGlzLndlZWtseUlucHV0ICtcclxuICAgICAgICAndGggJyArXHJcbiAgICAgICAgc2VsZWN0ZWREYXkuam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS13ZWVrbHkgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS13ZWVrbHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIxXCJcclxuICAgIFtpbnB1dFRpbWVdPVwid2Vla2x5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJ3ZWVrbHlJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIxXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdFxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW2xpc3RBcnJheV09XCJkYXlBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFdlZWtseVwiXHJcbiAgICAoc2VsZWN0ZWRDaGVja2JveCk9XCJvbkRheVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0PlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtwYWdlTmFtZV09XCInd2Vla2x5J1wiXHJcbiAgICBbZGVhY3RpdmF0ZVZhbHVlXT1cIndlZWtseURlYWN0aXZhdGVkVmFsdWVcIlxyXG4gICAgW2lzRGVhY3RpdmF0ZWRdPVwidHJ1ZVwiXHJcbiAgICBbY29tcGxldGVkVmFsdWVdPVwid2Vla2x5V2luZG93XCJcclxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJ3ZWVrbHlGYWlsZWRcIlxyXG4gICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cclxuICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcclxuICAgIFtpZF09XCIxXCJcclxuICAgIFtzdGFydERhdGVdPVwid2Vla2x5TGlmZUN5Y2xlU3RhcnRcIlxyXG4gICAgW2VuZERhdGVdPVwid2Vla2x5TGlmZUN5Y2xlRW5kVGltZVwiXHJcbiAgICBbb2NjdXJyYW5jZV09XCJ3ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxyXG4gICAgW3NlbGVjdGVkTGlmZWN5Y2xlVHlwZV09XCJ3ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZVwiXHJcbiAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1saWZlY3ljbGU+XHJcbjwvZGl2PlxyXG4iXX0=