vcomply-workflow-engine 3.4.26 → 3.4.28

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 (37) hide show
  1. package/esm2020/lib/constants/time.constants.mjs +2 -0
  2. package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +8 -6
  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/fesm2015/vcomply-workflow-engine.mjs +293 -57
  24. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  25. package/fesm2020/vcomply-workflow-engine.mjs +292 -57
  26. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  27. package/lib/constants/time.constants.d.ts +1 -0
  28. package/lib/log-an-issue/log-an-issue.component.d.ts +1 -0
  29. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +2 -0
  30. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +2 -0
  31. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +2 -0
  32. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -0
  33. package/lib/ui-kit/time-picker/constants/constant.d.ts +4 -0
  34. package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +25 -0
  35. package/lib/ui-kit/time-picker/time-picker.module.d.ts +8 -0
  36. package/lib/workflow-engine.module.d.ts +2 -1
  37. package/package.json +2 -2
@@ -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 FrequencyAnnualComponent {
10
11
  constructor(frequencyService) {
11
12
  this.frequencyService = frequencyService;
12
13
  this.monthList = [];
13
- this.yearlyInterval = '11:59 pm';
14
+ this.yearlyInterval = DEFAULT_TIME;
14
15
  this.yearlyInput = 1;
15
16
  this.yearlyFailed = 5;
16
17
  this.yearlyWindow = 30;
@@ -54,7 +55,7 @@ export class FrequencyAnnualComponent {
54
55
  this.frequencyData.startFrom ?? this.frequencyData.startDate;
55
56
  this.yearlyFailed = this.frequencyData.failed;
56
57
  if (lifecycleInfo[0] !== '0000-00-00') {
57
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
58
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
58
59
  this.yearlyLifeCycleEndTime = new Date(dateSelected * 1000);
59
60
  }
60
61
  this.lifecycleDetails = this.frequencyData.lifecycle;
@@ -293,4 +294,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
293
294
  }], frequencyDetails: [{
294
295
  type: Output
295
296
  }] } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWFubnVhbC9mcmVxdWVuY3ktYW5udWFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT25DLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM0J0RCxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRTNCLG1CQUFjLEdBQVcsVUFBVSxDQUFDO1FBQ3BDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLHlCQUFvQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLENBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQy9DLENBQUM7UUFDRiw2QkFBd0IsR0FBVyxFQUFFLENBQUM7UUFDdEMsK0JB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UyxLQUFLLEVBQUUsRUFBRTtZQUN6QixXQUFXO2dCQUNULElBQUksQ0FBQyxTQUFTO29CQUNkLGNBQWM7b0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO29CQUNwQyxNQUFNO29CQUNOLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFdBQVc7Z0JBQ1QsSUFBSSxDQUFDLFNBQVM7b0JBQ2QsY0FBYztvQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7b0JBQ3BDLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7O3FIQXZTVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1TkNUckMsczBDQXVDQTsyRkQ5QmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjt1R0F3QnZCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktYW5udWFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBtb250aExpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgeWVhcmx5SW50ZXJ2YWw6IHN0cmluZyA9ICcxMTo1OSBwbSc7XHJcbiAgeWVhcmx5SW5wdXQ6IG51bWJlciA9IDE7XHJcbiAgeWVhcmx5RmFpbGVkOiBudW1iZXIgPSA1O1xyXG4gIHllYXJseVdpbmRvdzogbnVtYmVyID0gMzA7XHJcbiAgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgeWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHllYXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMueWVhcmx5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIHllYXJseUxpZmVjeWNsZU9jY3VyYW5jZTogbnVtYmVyID0gMTA7XHJcbiAgeWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGU6IG51bWJlciA9IDI7XHJcbiAgeWVhcmx5U2VsZWN0ZWQgPSBuZXcgRGF0ZSgpLmdldE1vbnRoKCk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gIHByZXZpb3VzU3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHNob3J0TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9udGhMaXN0ID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcCgobW9udGgpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDRcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JykubWFwKE51bWJlcik7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGF0dGVybkluZm9bMl0gLSAxO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLnllYXJseUludGVydmFsID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLnllYXJseVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLnllYXJseUlucHV0ID0gcGF0dGVybkluZm9bM107XHJcbiAgICB0aGlzLnllYXJseURheSA9IHBhdHRlcm5JbmZvWzFdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy55ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy55ZWFybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuc3RhcnREYXRlID1cclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RnJvbSA/PyB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgdGhpcy55ZWFybHlGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMueWVhcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMueWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMueWVhcmx5SW50ZXJ2YWwgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMueWVhcmx5RGF5ID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy55ZWFybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkTW9udGgoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy55ZWFybHlTZWxlY3RlZCA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLnllYXJseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy55ZWFybHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICAvLyBmcmVxdWVuY3kgcGF0dGVybiBhbmQgZGV0YWlscyBpbmZvXHJcbiAgZ2V0QW5udWFsRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5SW5wdXQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICA0ICtcclxuICAgICAgJ34nICtcclxuICAgICAgdGhpcy55ZWFybHlEYXkgK1xyXG4gICAgICAnficgK1xyXG4gICAgICAodGhpcy55ZWFybHlTZWxlY3RlZCArIDEpICtcclxuICAgICAgJ34nICtcclxuICAgICAgdGhpcy55ZWFybHlJbnB1dDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3llYXJseSc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLnllYXJseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLnllYXJseVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoeWVhcmx5SW5wdXQ6IGFueSkge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAoeWVhcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyRm9yU3QyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXJGb3JHdDEoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIGlmIHllYXJseUlucHV0IGlzIHNtYWxsZXIgdGhhbiAyIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGxlZFxyXG4gIGdldFBsYWNlaG9sZGVyRm9yU3QyKCkge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcybmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICczcmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ3RoIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzMSB8fCB0aGlzLnllYXJseURheSA9PT0gMjEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAnc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ25kIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgdGhpcy55ZWFybHlEYXkgK1xyXG4gICAgICAgICdyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIGlmIHllYXJseUlucHV0IGlzIGdyZWF0ZXIgdGhhbiAxIHRoZW4gdGhpcyBmdW5jdGlvbiB3aWxsIGNhbGxlZFxyXG4gIGdldFBsYWNlaG9sZGVyRm9yR3QxKCkge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3QgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnLCBJbnRlcnZhbDogZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnB1dCArXHJcbiAgICAgICAgJyB5ZWFycyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnMm5kICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW5wdXQgK1xyXG4gICAgICAgICcgeWVhcnMgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzNyZCAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcsIEludGVydmFsOiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUlucHV0ICtcclxuICAgICAgICAnIHllYXJzIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPiAzKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ3RoIG9mICAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcsIEludGVydmFsOiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUlucHV0ICtcclxuICAgICAgICAnIHllYXJzIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMxIHx8IHRoaXMueWVhcmx5RGF5ID09PSAyMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgdGhpcy55ZWFybHlEYXkgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAnbmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1hbm51YWwgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1hbm51YWxcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCI1XCJcclxuICAgIFtpbnB1dFRpbWVdPVwieWVhcmx5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJ5ZWFybHlJbnB1dFwiXHJcbiAgICBbeWVhcmx5RGF5XT1cInllYXJseURheVwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIyXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgKHllYXJseURhdGVDaGFuZ2VkKT1cImRhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XHJcbiAgICBbcmFkaW9MaXN0XT1cIm1vbnRoTGlzdFwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJ5ZWFybHlTZWxlY3RlZFwiXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJzZWxlY3RlZE1vbnRoKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPlxyXG4gIDwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbcGFnZU5hbWVdPVwiJ3llYXJseSdcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbaWRdPVwiNVwiXHJcbiAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cInllYXJseVdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwieWVhcmx5RmFpbGVkXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXHJcbiAgICBbaWRdPVwiNVwiXHJcbiAgICBbc3RhcnREYXRlXT1cInllYXJseUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgIFtlbmREYXRlXT1cInllYXJseUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgW29jY3VycmFuY2VdPVwieWVhcmx5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwieWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgKHNlbGVjdGVkT2NjdXJhbmNlKT1cImxpZmVjeWNsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxyXG48L2Rpdj5cclxuIl19
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWFubnVhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWFubnVhbC9mcmVxdWVuY3ktYW5udWFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sd0JBQXdCO0lBNEJuQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNCdEQsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFXLFlBQVksQ0FBQztRQUN0QyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyx5QkFBb0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xDLDJCQUFzQixHQUFHLElBQUksSUFBSSxDQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUMv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QUNOLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQ3pCLFdBQVc7Z0JBQ1QsSUFBSSxDQUFDLFNBQVM7b0JBQ2QsY0FBYztvQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7b0JBQ3BDLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDekIsV0FBVztnQkFDVCxJQUFJLENBQUMsU0FBUztvQkFDZCxjQUFjO29CQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztvQkFDcEMsTUFBTTtvQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7cUhBdlNVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHVOQ1ZyQyxzMENBdUNBOzJGRDdCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3VHQXdCdkIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1hbm51YWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktYW5udWFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktYW5udWFsLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lBbm51YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG1vbnRoTGlzdDogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICB5ZWFybHlJbnRlcnZhbDogc3RyaW5nID0gREVGQVVMVF9USU1FO1xyXG4gIHllYXJseUlucHV0OiBudW1iZXIgPSAxO1xyXG4gIHllYXJseUZhaWxlZDogbnVtYmVyID0gNTtcclxuICB5ZWFybHlXaW5kb3c6IG51bWJlciA9IDMwO1xyXG4gIHllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIHllYXJseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICB5ZWFybHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXHJcbiAgICB0aGlzLnllYXJseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXHJcbiAgKTtcclxuICB5ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2U6IG51bWJlciA9IDEwO1xyXG4gIHllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlOiBudW1iZXIgPSAyO1xyXG4gIHllYXJseVNlbGVjdGVkID0gbmV3IERhdGUoKS5nZXRNb250aCgpO1xyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuICBwcmV2aW91c1N0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vbnRoTGlzdCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAoKG1vbnRoKSA9PlxyXG4gICAgICBtb250aC5zdWJzdHJpbmcoMCwgMylcclxuICAgICk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpLm1hcChOdW1iZXIpO1xyXG4gICAgdGhpcy55ZWFybHlTZWxlY3RlZCA9IHBhdHRlcm5JbmZvWzJdIC0gMTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy55ZWFybHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy55ZWFybHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgdGhpcy55ZWFybHlEYXkgPSBwYXR0ZXJuSW5mb1sxXTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMueWVhcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMueWVhcmx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydEZyb20gPz8gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMueWVhcmx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgY29uc3QgZGF0ZVNlbGVjdGVkID0gbW9tZW50KFxyXG4gICAgICAgIGxpZmVjeWNsZUluZm9bMF0gKyAnICcgKyBERUZBVUxUX1RJTUUsXHJcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgdGhpcy55ZWFybHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlO1xyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XHJcbiAgICAgIHRoaXMueWVhcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gICAgfSBlbHNlIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgdGhpcy55ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy55ZWFybHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGRhdGVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy55ZWFybHlEYXkgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnllYXJseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldEFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnllYXJseVNlbGVjdGVkID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0QW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMueWVhcmx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXJseUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRBbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIC8vIGZyZXF1ZW5jeSBwYXR0ZXJuIGFuZCBkZXRhaWxzIGluZm9cclxuICBnZXRBbm51YWxGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy55ZWFybHlJbnB1dClcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDQgK1xyXG4gICAgICAnficgK1xyXG4gICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICd+JyArXHJcbiAgICAgICh0aGlzLnllYXJseVNlbGVjdGVkICsgMSkgK1xyXG4gICAgICAnficgK1xyXG4gICAgICB0aGlzLnllYXJseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAneWVhcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMueWVhcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMueWVhcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRGcmVxdWVuY3lQbGFjZWhvbGRlcih5ZWFybHlJbnB1dDogYW55KSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmICh5ZWFybHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXJGb3JTdDIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlckZvckd0MSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gaWYgeWVhcmx5SW5wdXQgaXMgc21hbGxlciB0aGFuIDIgdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbGVkXHJcbiAgZ2V0UGxhY2Vob2xkZXJGb3JTdDIoKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzFzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzJuZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzNyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAndGggb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDMxIHx8IHRoaXMueWVhcmx5RGF5ID09PSAyMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgdGhpcy55ZWFybHlEYXkgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAnbmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gaWYgeWVhcmx5SW5wdXQgaXMgZ3JlYXRlciB0aGFuIDEgdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbGVkXHJcbiAgZ2V0UGxhY2Vob2xkZXJGb3JHdDEoKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzFzdCAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcsIEludGVydmFsOiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUlucHV0ICtcclxuICAgICAgICAnIHllYXJzIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy55ZWFybHlEYXkgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcybmQgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnLCBJbnRlcnZhbDogZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnB1dCArXHJcbiAgICAgICAgJyB5ZWFycyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW5wdXQgK1xyXG4gICAgICAgICcgeWVhcnMgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA+IDMpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAndGggb2YgICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJywgSW50ZXJ2YWw6IGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW5wdXQgK1xyXG4gICAgICAgICcgeWVhcnMgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMzEgfHwgdGhpcy55ZWFybHlEYXkgPT09IDIxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICB0aGlzLnllYXJseURheSArXHJcbiAgICAgICAgJ3N0IG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnllYXJseVNlbGVjdGVkXSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnllYXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMueWVhcmx5RGF5ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgdGhpcy55ZWFybHlEYXkgK1xyXG4gICAgICAgICduZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy55ZWFybHlTZWxlY3RlZF0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy55ZWFybHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnllYXJseURheSA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHRoaXMueWVhcmx5RGF5ICtcclxuICAgICAgICAncmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5zaG9ydE1vbnRoW3RoaXMueWVhcmx5U2VsZWN0ZWRdICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMueWVhcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LWFubnVhbCB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWFubnVhbFwiPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxyXG4gICAgW2lkXT1cIjVcIlxyXG4gICAgW2lucHV0VGltZV09XCJ5ZWFybHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cInllYXJseUlucHV0XCJcclxuICAgIFt5ZWFybHlEYXldPVwieWVhcmx5RGF5XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjJcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICAoeWVhcmx5RGF0ZUNoYW5nZWQpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktdG9wPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3RcclxuICAgIFtyYWRpb0xpc3RdPVwibW9udGhMaXN0XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInllYXJseVNlbGVjdGVkXCJcclxuICAgIChzZWxlY3RlZFJhZGlvKT1cInNlbGVjdGVkTW9udGgoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+XHJcbiAgPC9hcHAtZnJlcXVlbmN5LXJhZGlvLWxpc3Q+XHJcbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgIFtwYWdlTmFtZV09XCIneWVhcmx5J1wiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtpZF09XCI1XCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICBbY29tcGxldGVkVmFsdWVdPVwieWVhcmx5V2luZG93XCJcclxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJ5ZWFybHlGYWlsZWRcIlxyXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cclxuICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcclxuICAgIFtpZF09XCI1XCJcclxuICAgIFtzdGFydERhdGVdPVwieWVhcmx5TGlmZUN5Y2xlU3RhcnRcIlxyXG4gICAgW2VuZERhdGVdPVwieWVhcmx5TGlmZUN5Y2xlRW5kVGltZVwiXHJcbiAgICBbb2NjdXJyYW5jZV09XCJ5ZWFybHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxyXG4gICAgW3NlbGVjdGVkTGlmZWN5Y2xlVHlwZV09XCJ5ZWFybHlTZWxldGVkTGlmZWN5Y2xlVHlwZVwiXHJcbiAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1saWZlY3ljbGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -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";
@@ -9,7 +10,7 @@ import * as i5 from "../frequency-checkbox-list/frequency-checkbox-list.componen
9
10
  export class FrequencyBiannualComponent {
10
11
  constructor(frequencyService) {
11
12
  this.frequencyService = frequencyService;
12
- this.biannualInterval = '11:59 pm';
13
+ this.biannualInterval = DEFAULT_TIME;
13
14
  this.biannualInput = new Date().getDate();
14
15
  this.biannualFailed = 5;
15
16
  this.biannualWindow = 30;
@@ -54,7 +55,7 @@ export class FrequencyBiannualComponent {
54
55
  this.biannualLifeCycleStart = new Date(this.frequencyData.startDate * 1000);
55
56
  this.biannualFailed = this.frequencyData.failed;
56
57
  if (lifecycleInfo[0] !== '0000-00-00') {
57
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
58
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
58
59
  this.biannualLifeCycleEndTime = new Date(dateSelected * 1000);
59
60
  }
60
61
  this.lifecycleDetails = this.frequencyData.lifecycle;
@@ -214,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
214
215
  }], frequencyDetails: [{
215
216
  type: Output
216
217
  }] } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1iaWFubnVhbC9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWJpYW5udWFsL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sMEJBQTBCO0lBMkJyQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTFCdEQscUJBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixnQkFBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQyw2QkFBd0IsR0FBRyxJQUFJLElBQUksQ0FDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FDakQsQ0FBQztRQUNGLCtCQUEwQixHQUFHLEVBQUUsQ0FB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aW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWJpYW5udWFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUJpYW5udWFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBiaWFubnVhbEludGVydmFsID0gJzExOjU5IHBtJztcclxuICBiaWFubnVhbElucHV0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgYmlhbm51YWxGYWlsZWQgPSA1O1xyXG4gIGJpYW5udWFsV2luZG93ID0gMzA7XHJcbiAgYmlhbm51YWxEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBiaWFubnVhbExpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICBiaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgYmlhbm51YWxMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBiaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBiaWFubnVhbFNlbGVjdGVkOiBBcnJheTxudW1iZXI+ID0gW107XHJcbiAgYmlhbm51YWxMaWZlY3ljbGUgPSBmYWxzZTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbW9udGhOYW1lQXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgc2VsZWN0ZWRNb250aGx5OiBBcnJheTxudW1iZXI+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKChtb250aCkgPT5cclxuICAgICAgbW9udGguc3Vic3RyaW5nKDAsIDMpXHJcbiAgICApO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gOVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gcGF0dGVybkluZm9bMl1cclxuICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgLm1hcCgoZWxlOiBhbnkpID0+IE51bWJlcihlbGUpIC0gMSk7XHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBwYXR0ZXJuSW5mb1sxXTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSAqIDEwMDApO1xyXG4gICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcclxuICAgICAgICBsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsXHJcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgdGhpcy5iaWFubnVhbExpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZC5wdXNoKGV2ZW50LmluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZCA9IHRoaXMuYmlhbm51YWxTZWxlY3RlZC5maWx0ZXIoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5iaWFubnVhbElucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iaWFubnVhbEZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldEJpYW5udWFsRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgOSArICd+JyArIHRoaXMuYmlhbm51YWxJbnB1dCArICd+JyArIG1vbnRoSW5kZXguam9pbignLCcpICsgJ34wJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ2JpYW5udWFsJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMuYmlhbm51YWxGYWlsZWQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gdGhpcy5iaWFubnVhbFdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihcclxuICAgICAgTnVtYmVyKHRoaXMuYmlhbm51YWxJbnB1dClcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJlcXVlbmN5UGxhY2Vob2xkZXIoYmlhbm51YWxJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGNvbnN0IHNlbGVjdGVkTW9udGggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGJpYW5udWFsSW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzJuZCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIxIHx8IGJpYW5udWFsSW5wdXQgPT09IDMxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBiaWFubnVhbElucHV0ICtcclxuICAgICAgICAnc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIGJpYW5udWFsSW5wdXQgK1xyXG4gICAgICAgICduZCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgYmlhbm51YWxJbnB1dCArXHJcbiAgICAgICAgJ3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBiaWFubnVhbElucHV0ICtcclxuICAgICAgICAndGggb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcbn1cclxuIiwiPCEtLSA8cD5mcmVxdWVuY3ktYmlhbm51YWwgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1iaWFubnVhbFwiPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxyXG4gICAgW2lkXT1cIjRcIlxyXG4gICAgW2lucHV0VGltZV09XCJiaWFubnVhbEludGVydmFsXCJcclxuICAgIFtvY2N1cnJlbmNlRmlyc3RdPVwiYmlhbm51YWxJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCI0XCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdFxyXG4gICAgW2lkXT1cIjRcIlxyXG4gICAgW2xpc3RBcnJheV09XCJtb250aE5hbWVBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJiaWFubnVhbFNlbGVjdGVkXCJcclxuICAgIChzZWxlY3RlZENoZWNrYm94KT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdD5cclxuICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgW3BhZ2VOYW1lXT1cIidiaWFubnVhbCdcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbaWRdPVwiNFwiXHJcbiAgICBbY29tcGxldGVkVmFsdWVdPVwiYmlhbm51YWxXaW5kb3dcIlxyXG4gICAgW25vdENvbXBsZXRlZFZhbHVlXT1cImJpYW5udWFsRmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjRcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJiaWFubnVhbExpZmVDeWNsZVN0YXJ0XCJcclxuICAgIFtlbmREYXRlXT1cImJpYW5udWFsTGlmZUN5Y2xlRW5kVGltZVwiXHJcbiAgICBbb2NjdXJyYW5jZV09XCJiaWFubnVhbExpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cImJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgKHNlbGVjdGVkT2NjdXJhbmNlKT1cImxpZmVjeWNsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxyXG48L2Rpdj5cclxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1iaWFubnVhbC9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWJpYW5udWFsL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUVuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFPakUsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUExQnRELHFCQUFnQixHQUFHLFlBQVksQ0FBQztRQUNoQyxrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLDJCQUFzQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsNkJBQXdCLEdBQUcsSUFBSSxJQUFJLENBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsR0FB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ckIsS0FBSztnQkFHSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktYmlhbm51YWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1iaWFubnVhbC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5Qmlhbm51YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGJpYW5udWFsSW50ZXJ2YWwgPSBERUZBVUxUX1RJTUU7XHJcbiAgYmlhbm51YWxJbnB1dCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIGJpYW5udWFsRmFpbGVkID0gNTtcclxuICBiaWFubnVhbFdpbmRvdyA9IDMwO1xyXG4gIGJpYW5udWFsRGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgYmlhbm51YWxMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XHJcbiAgYmlhbm51YWxMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXHJcbiAgICB0aGlzLmJpYW5udWFsTGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIGJpYW5udWFsTGlmZWN5Y2xlT2NjdXJhbmNlID0gMTA7XHJcbiAgYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgYmlhbm51YWxTZWxlY3RlZDogQXJyYXk8bnVtYmVyPiA9IFtdO1xyXG4gIGJpYW5udWFsTGlmZWN5Y2xlID0gZmFsc2U7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIG1vbnRoTmFtZUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgc2hvcnRNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gIHNlbGVjdGVkTW9udGhseTogQXJyYXk8bnVtYmVyPiA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLm1vbnRoTmFtZUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkpXTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcCgobW9udGgpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIHRoaXMuYmlhbm51YWxTZWxlY3RlZCA9IHBhdHRlcm5JbmZvWzJdXHJcbiAgICAgIC5zcGxpdCgnLCcpXHJcbiAgICAgIC5tYXAoKGVsZTogYW55KSA9PiBOdW1iZXIoZWxlKSAtIDEpO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMuYmlhbm51YWxXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy5iaWFubnVhbElucHV0ID0gcGF0dGVybkluZm9bMV07XHJcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgICB0aGlzLmJpYW5udWFsTGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmlhbm51YWxMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuYmlhbm51YWxGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgJyArIERFRkFVTFRfVElNRSxcclxuICAgICAgICAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICB0aGlzLmJpYW5udWFsTGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLmJpYW5udWFsU2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gICAgfSBlbHNlIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1vbnRoU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkLnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iaWFubnVhbFNlbGVjdGVkID0gdGhpcy5iaWFubnVhbFNlbGVjdGVkLmZpbHRlcihcclxuICAgICAgICAoZWxlKSA9PiBlbGUgIT09IGV2ZW50LmluZGV4XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmJpYW5udWFsSW5wdXQgPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuZ2V0Qmlhbm51YWxGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5iaWFubnVhbEludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLmJpYW5udWFsV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpYW5udWFsRmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEJpYW5udWFsRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRCaWFubnVhbEZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Qmlhbm51YWxGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLmJpYW5udWFsU2VsZWN0ZWQgPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIGNvbnN0IG1vbnRoSW5kZXggPSB0aGlzLmJpYW5udWFsU2VsZWN0ZWQubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICA5ICsgJ34nICsgdGhpcy5iaWFubnVhbElucHV0ICsgJ34nICsgbW9udGhJbmRleC5qb2luKCcsJykgKyAnfjAnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAnYmlhbm51YWwnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5iaWFubnVhbEZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLmJpYW5udWFsV2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKFxyXG4gICAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy5iaWFubnVhbElucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihiaWFubnVhbElucHV0OiBudW1iZXIpIHtcclxuICAgIGxldCBwbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHRoaXMuYmlhbm51YWxTZWxlY3RlZC5tYXAoKGVsZSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5zaG9ydE1vbnRoW2VsZV07XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzFzdCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnMm5kIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICczcmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA9PT0gMjEgfHwgYmlhbm51YWxJbnB1dCA9PT0gMzEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIGJpYW5udWFsSW5wdXQgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChiaWFubnVhbElucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgYmlhbm51YWxJbnB1dCArXHJcbiAgICAgICAgJ25kIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLmJpYW5udWFsSW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKGJpYW5udWFsSW5wdXQgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBiaWFubnVhbElucHV0ICtcclxuICAgICAgICAncmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMuYmlhbm51YWxJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAoYmlhbm51YWxJbnB1dCA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIGJpYW5udWFsSW5wdXQgK1xyXG4gICAgICAgICd0aCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5iaWFubnVhbEludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1iaWFubnVhbCB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWJpYW5udWFsXCI+XHJcbiAgPGFwcC1mcmVxdWVuY3ktdG9wXHJcbiAgICBbaWRdPVwiNFwiXHJcbiAgICBbaW5wdXRUaW1lXT1cImJpYW5udWFsSW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJiaWFubnVhbElucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjRcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0XHJcbiAgICBbaWRdPVwiNFwiXHJcbiAgICBbbGlzdEFycmF5XT1cIm1vbnRoTmFtZUFycmF5XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cImJpYW5udWFsU2VsZWN0ZWRcIlxyXG4gICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0PlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbcGFnZU5hbWVdPVwiJ2JpYW5udWFsJ1wiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtpZF09XCI0XCJcclxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJiaWFubnVhbFdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwiYmlhbm51YWxGYWlsZWRcIlxyXG4gICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXHJcbiAgICBbaWRdPVwiNFwiXHJcbiAgICBbc3RhcnREYXRlXT1cImJpYW5udWFsTGlmZUN5Y2xlU3RhcnRcIlxyXG4gICAgW2VuZERhdGVdPVwiYmlhbm51YWxMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cImJpYW5udWFsTGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwiYmlhbm51YWxTZWxldGVkTGlmZWN5Y2xlVHlwZVwiXHJcbiAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1saWZlY3ljbGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Component, ViewChild, Input, Output, EventEmitter, } from '@angular/core';
2
2
  //import { FrequencyService } from '../frequency.service';
3
3
  import moment from 'moment/moment';
4
+ import { DEFAULT_TIME } from '../../../constants/time.constants';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../frequency.service";
6
7
  import * as i2 from "../frequency-top/frequency-top.component";
@@ -12,7 +13,7 @@ export class FrequencyDailyComponent {
12
13
  this.mode = '';
13
14
  this.datepickerOverlay = false;
14
15
  //#region daily frequency start
15
- this.dailyInterval = '11:59 pm';
16
+ this.dailyInterval = DEFAULT_TIME;
16
17
  this.dailyInput = 1;
17
18
  this.dailyFailed = 1;
18
19
  this.dailyLifeCycleStart = new Date();
@@ -46,7 +47,7 @@ export class FrequencyDailyComponent {
46
47
  this.dailyFailed = this.frequencyData.failed;
47
48
  this.dailyDeactivatedValue = this.frequencyData.continuous_failed_days;
48
49
  if (lifecycleInfo[0] !== '0000-00-00') {
49
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
50
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
50
51
  this.dailyLifeCycleEndTime = new Date(dateSelected * 1000);
51
52
  }
52
53
  this.lifecycleDetails = this.frequencyData.lifecycle;
@@ -148,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
148
149
  }], frequencyDetails: [{
149
150
  type: Output
150
151
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1kYWlseS9mcmVxdWVuY3ktZGFpbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWRhaWx5L2ZyZXF1ZW5jeS1kYWlseS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QiwwREFBMEQ7QUFDMUQsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRbkMsTUFBTSxPQUFPLHVCQUF1QjtJQXdCbEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0QjdDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLCtCQUErQjtRQUMvQixrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUMzQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsd0JBQW1CLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQywwQkFBcUIsR0FBRyxJQUFJLElBQUksQ0FDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FDOUMsQ0FBQztRQUNGLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUM3Qiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFD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SUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FDcEUsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O29IQTFJVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnVUNsQnBDLCttQ0FnQ0E7MkZEZGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjt1R0FLTixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ2QsSUFBSTtzQkFBWixLQUFLO2dCQWlCRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICduZzItZGF0ZS1waWNrZXInO1xyXG4vL2ltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGFpbHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktZGFpbHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1kYWlseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RGFpbHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBkYXRlUGlja2VyITogRGF0ZVBpY2tlckNvbXBvbmVudDtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgZGF0ZXBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICAvLyNyZWdpb24gZGFpbHkgZnJlcXVlbmN5IHN0YXJ0XHJcbiAgZGFpbHlJbnRlcnZhbCA9ICcxMTo1OSBwbSc7XHJcbiAgZGFpbHlJbnB1dCA9IDE7XHJcbiAgZGFpbHlGYWlsZWQgPSAxO1xyXG4gIGRhaWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhaWx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5kYWlseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXHJcbiAgKTtcclxuICBkYWlseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIGRhaWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIGRhaWx5RGVhY3RpdmF0ZWRWYWx1ZSA9IDE1O1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcblxyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSAxXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0RGFpbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpLm1hcChOdW1iZXIpO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLmRhaWx5SW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMuZGFpbHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy5kYWlseUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLmRhaWx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLmRhaWx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIHRoaXMuZGFpbHlEZWFjdGl2YXRlZFZhbHVlID0gdGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXM7XHJcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcclxuICAgICAgICBsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsXHJcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgdGhpcy5kYWlseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy5kYWlseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMuZGFpbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhaWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25UaW1lQ2hhbmdlZChldmVudDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGFpbHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXREYWlseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kYWlseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldERhaWx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnZGVhY3RpdmF0ZWQnKSB7XHJcbiAgICAgIHRoaXMuZGFpbHlEZWFjdGl2YXRlZFZhbHVlID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhaWx5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldERhaWx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0RGFpbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldERhaWx5RnJlcXVlbmN5KCkge1xyXG4gICAgaWYgKHRoaXMuZGFpbHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSAnRGFpbHkgYnkgJyArIHRoaXMuZGFpbHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYWlseUlucHV0ID4gMSkge1xyXG4gICAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSAnICsgdGhpcy5kYWlseUlucHV0ICsgJyBkYXlzIGJ5ICcgKyB0aGlzLmRhaWx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdGcmVxdWVuY3kgZGVub3RlcyB0aGUgcmF0ZSBvZiBvY2N1cnJlbmNlIG9mIGEgcmVzcG9uc2liaWxpdHkuJztcclxuICAgIH1cclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgMSArICd+JyArICcwJyArICd+JyArICcwJyArICd+JyArIHRoaXMuZGFpbHlJbnB1dDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ2RhaWx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMuZGFpbHlGYWlsZWQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMuZGFpbHlJbnRlcnZhbDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMuZGFpbHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy5kYWlseURlYWN0aXZhdGVkVmFsdWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1kYWlseSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRhaWx5XCI+XHJcbiAgPGFwcC1mcmVxdWVuY3ktdG9wXHJcbiAgICBbaWRdPVwiMFwiXHJcbiAgICBbaW5wdXRUaW1lXT1cImRhaWx5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJkYWlseUlucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjBcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50LCAnZGFpbHlJbnRlcnZhbCcpXCJcclxuICAgICh2YWx1ZUNoYW5nZWRGaXJzdCk9XCJ2YWx1ZUNoYW5nZWRGaXJzdCgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktdG9wPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbcGFnZU5hbWVdPVwiJ2RhaWx5J1wiXHJcbiAgICBbaWRdPVwiMFwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJkYWlseUZhaWxlZFwiXHJcbiAgICBbZGVhY3RpdmF0ZVZhbHVlXT1cImRhaWx5RGVhY3RpdmF0ZWRWYWx1ZVwiXHJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJ0cnVlXCJcclxuICAgIFtjb21wbGV0ZWRSZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cclxuICA8YXBwLWZyZXF1ZW5jeS1saWZlY3ljbGVcclxuICAgIFtpZF09XCIwXCJcclxuICAgIFtzdGFydERhdGVdPVwiZGFpbHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJkYWlseUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgW29jY3VycmFuY2VdPVwiZGFpbHlMaWZlY3ljbGVPY2N1cmFuY2VcIlxyXG4gICAgW3NlbGVjdGVkTGlmZWN5Y2xlVHlwZV09XCJkYWlseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1kYWlseS9mcmVxdWVuY3ktZGFpbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWRhaWx5L2ZyZXF1ZW5jeS1kYWlseS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QiwwREFBMEQ7QUFDMUQsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx1QkFBdUI7SUF3QmxDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdEI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQiwrQkFBK0I7UUFDL0Isa0JBQWEsR0FBRyxZQUFZLENBQUM7UUFDN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsSUFBSSxJQUFJLENBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQzlDLENBQUM7UUFDRiw0QkFBdUIsR0FB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SSxHQUFHLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUNwRSxJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDdkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7b0hBMUlVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdVQ25CcEMsK21DQWdDQTsyRkRiYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO3VHQUtOLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDZCxJQUFJO3NCQUFaLEtBQUs7Z0JBaUJHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XHJcbi8vaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kYWlseScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kYWlseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEYWlseUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIC8vI3JlZ2lvbiBkYWlseSBmcmVxdWVuY3kgc3RhcnRcclxuICBkYWlseUludGVydmFsID0gREVGQVVMVF9USU1FO1xyXG4gIGRhaWx5SW5wdXQgPSAxO1xyXG4gIGRhaWx5RmFpbGVkID0gMTtcclxuICBkYWlseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICBkYWlseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMuZGFpbHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgZGFpbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBkYWlseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBkYWlseURlYWN0aXZhdGVkVmFsdWUgPSAxNTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gMVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdldERhaWx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKS5tYXAoTnVtYmVyKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy5kYWlseUludGVydmFsID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLmRhaWx5SW5wdXQgPSBwYXR0ZXJuSW5mb1szXTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMuZGFpbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5kYWlseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSAqIDEwMDApO1xyXG4gICAgdGhpcy5kYWlseUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICB0aGlzLmRhaWx5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgJyArIERFRkFVTFRfVElNRSxcclxuICAgICAgICAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICB0aGlzLmRhaWx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLmRhaWx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gICAgfSBlbHNlIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgdGhpcy5kYWlseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGFpbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5kYWlseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldERhaWx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRhaWx5SW5wdXQgPSBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuZ2V0RGFpbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdkZWFjdGl2YXRlZCcpIHtcclxuICAgICAgdGhpcy5kYWlseURlYWN0aXZhdGVkVmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGFpbHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0RGFpbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGxpZmVjeWNsZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tIC8gMTAwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXREYWlseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGFpbHlGcmVxdWVuY3koKSB7XHJcbiAgICBpZiAodGhpcy5kYWlseUlucHV0ID09PSAxKSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9ICdEYWlseSBieSAnICsgdGhpcy5kYWlseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRhaWx5SW5wdXQgPiAxKSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5ICcgKyB0aGlzLmRhaWx5SW5wdXQgKyAnIGRheXMgYnkgJyArIHRoaXMuZGFpbHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0ZyZXF1ZW5jeSBkZW5vdGVzIHRoZSByYXRlIG9mIG9jY3VycmVuY2Ugb2YgYSByZXNwb25zaWJpbGl0eS4nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICAxICsgJ34nICsgJzAnICsgJ34nICsgJzAnICsgJ34nICsgdGhpcy5kYWlseUlucHV0O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAnZGFpbHknO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5kYWlseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5kYWlseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5kYWlseUludGVydmFsXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmxpZmVjeWNsZURldGFpbHM7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uc3RhcnRGcm9tID0gdGhpcy5zdGFydERhdGU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPSB0aGlzLmRhaWx5RGVhY3RpdmF0ZWRWYWx1ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LWRhaWx5IHdvcmtzITwvcD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGFpbHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIwXCJcclxuICAgIFtpbnB1dFRpbWVdPVwiZGFpbHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cImRhaWx5SW5wdXRcIlxyXG4gICAgW2ZyZXF1ZW5jeVR5cGVdPVwiMFwiXHJcbiAgICAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQsICdkYWlseUludGVydmFsJylcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgIFtwYWdlTmFtZV09XCInZGFpbHknXCJcclxuICAgIFtpZF09XCIwXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgW25vdENvbXBsZXRlZFZhbHVlXT1cImRhaWx5RmFpbGVkXCJcclxuICAgIFtkZWFjdGl2YXRlVmFsdWVdPVwiZGFpbHlEZWFjdGl2YXRlZFZhbHVlXCJcclxuICAgIFtpc0RlYWN0aXZhdGVkXT1cInRydWVcIlxyXG4gICAgW2NvbXBsZXRlZFJlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjBcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJkYWlseUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgIFtlbmREYXRlXT1cImRhaWx5TGlmZUN5Y2xlRW5kVGltZVwiXHJcbiAgICBbb2NjdXJyYW5jZV09XCJkYWlseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cImRhaWx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgKHNlbGVjdGVkT2NjdXJhbmNlKT1cImxpZmVjeWNsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxyXG48L2Rpdj5cclxuIl19
@@ -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 FrequencyMonthlyComponent {
10
11
  constructor(frequencyService) {
11
12
  this.frequencyService = frequencyService;
12
13
  this.mode = '';
13
- this.monthlyInterval = '11:59 pm';
14
+ this.monthlyInterval = DEFAULT_TIME;
14
15
  this.monthlyInput = new Date().getDate();
15
16
  this.monthlyFailed = 5;
16
17
  this.monthlyWindow = 7;
@@ -54,7 +55,7 @@ export class FrequencyMonthlyComponent {
54
55
  this.monthlyFailed = this.frequencyData.failed;
55
56
  this.monthlyDeactivatedValue = this.frequencyData.continuous_failed_days;
56
57
  if (lifecycleInfo[0] !== '0000-00-00') {
57
- const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix();
58
+ const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
58
59
  this.monthlyLifeCycleEndTime = new Date(dateSelected * 1000);
59
60
  }
60
61
  this.lifecycleDetails = this.frequencyData.lifecycle;
@@ -219,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
219
220
  }], frequencyDetails: [{
220
221
  type: Output
221
222
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFPbkMsTUFBTSxPQUFPLHlCQUF5QjtJQTJCcEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUExQjdDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsb0JBQWUsR0FBRyxVQUFVLENBQUM7UUFDN0IsaUJBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLDBCQUFxQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbkMsNEJBQXVCLEdBQUcsSUFBSSxJQUFJLENBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQ2hELENBQUM7UUFDRiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsZ0NBQTJCLEdBQUcsQ0FBQyxDQUFDO1FB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O2FBQU0sSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLFdBQVc7Z0JBQ1QsWUFBWTtvQkFDWixjQUFjO29CQUNkLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUN4QixNQUFNO29CQUNOLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDeEI7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOztzSEF2TlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsd05DVHRDLGczQ0F1Q0E7MkZEOUJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7dUdBS3hCLElBQUk7c0JBQVosS0FBSztnQkFxQkcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LW1vbnRobHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktbW9udGhseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeU1vbnRobHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBtb250aGx5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIG1vbnRobHlJbnB1dCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gIG1vbnRobHlGYWlsZWQgPSA1O1xyXG4gIG1vbnRobHlXaW5kb3cgPSA3O1xyXG5cclxuICBtb250aGx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIG1vbnRobHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXHJcbiAgICB0aGlzLm1vbnRobHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgbW9udGhseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIG1vbnRobHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgc2VsZWN0ZWRNb250aGx5ID0gWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV07XHJcbiAgbW9udGhseURlYWN0aXZhdGVkVmFsdWUgPSAxMDtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbW9udGhOYW1lQXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIGxpZmVjeWNsZURldGFpbHM6IGFueSA9ICcwMDAwLTAwLTAwfn4wJztcclxuXHJcbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMubW9udGhOYW1lQXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheSldO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKChtb250aCkgPT5cclxuICAgICAgbW9udGguc3Vic3RyaW5nKDAsIDMpXHJcbiAgICApO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gM1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0TW9udGhseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVGcmVxdWVuY3koKSB7XHJcbiAgICBjb25zdCBwYXR0ZXJuSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+Jyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHBhdHRlcm5JbmZvWzJdXHJcbiAgICAgIC5zcGxpdCgnLCcpXHJcbiAgICAgIC5tYXAoKGVsZTogYW55KSA9PiBOdW1iZXIoZWxlKSAtIDEpO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLm1vbnRobHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5tb250aGx5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcclxuICAgIHRoaXMubW9udGhseUlucHV0ID0gTnVtYmVyKHBhdHRlcm5JbmZvWzFdKTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMubW9udGhseUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLm1vbnRobHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMubW9udGhseUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICB0aGlzLm1vbnRobHlEZWFjdGl2YXRlZFZhbHVlID0gdGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXM7XHJcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcclxuICAgICAgICBsaWZlY3ljbGVJbmZvWzBdICsgJyAxMTo1OSBwbScsXHJcbiAgICAgICAgJ0RELU1NTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgdGhpcy5tb250aGx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLm1vbnRobHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgICB9IGVsc2UgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICB0aGlzLm1vbnRobHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vbnRobHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm1vbnRobHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRNb250aGx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubW9udGhseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uTW9udGhTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhseS5wdXNoKGV2ZW50LmluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkuZmlsdGVyKFxyXG4gICAgICAgIChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0TW9udGhseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tb250aGx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSAqIDEwMDApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0TW9udGhseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2RlYWN0aXZhdGVkJykge1xyXG4gICAgICB0aGlzLm1vbnRobHlEZWFjdGl2YXRlZFZhbHVlID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMubW9udGhseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb250aGx5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRobHlGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhseSA9IHRoaXMuc2VsZWN0ZWRNb250aGx5LnNvcnQoKG4xLCBuMikgPT4gbjEgLSBuMik7XHJcbiAgICBjb25zdCBtb250aEluZGV4ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IGVsZSArIDEpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihcclxuICAgICAgTnVtYmVyKHRoaXMubW9udGhseUlucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgMyArICd+JyArIHRoaXMubW9udGhseUlucHV0ICsgJ34nICsgbW9udGhJbmRleCArICd+JyArICcwJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ21vbnRoJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMubW9udGhseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLm1vbnRobHlXaW5kb3c7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5tb250aGx5SW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSBNYXRoLmZsb29yKFxyXG4gICAgICB0aGlzLm1vbnRobHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgLyAxMDAwXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy5tb250aGx5RGVhY3RpdmF0ZWRWYWx1ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRGcmVxdWVuY3lQbGFjZWhvbGRlcihtb250aGx5SW5wdXQ6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRNb250aCA9IHRoaXMuc2VsZWN0ZWRNb250aGx5Lm1hcCgoZWxlKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNob3J0TW9udGhbZWxlXTtcclxuICAgIH0pO1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICBpZiAobW9udGhseUlucHV0ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnMXN0IG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAobW9udGhseUlucHV0ID09PSAyKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnMm5kIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAobW9udGhseUlucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAobW9udGhseUlucHV0ID09PSAyMSB8fCBtb250aGx5SW5wdXQgPT09IDMxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBtb250aGx5SW5wdXQgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5tb250aGx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKG1vbnRobHlJbnB1dCA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIG1vbnRobHlJbnB1dCArXHJcbiAgICAgICAgJ25kIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAobW9udGhseUlucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgbW9udGhseUlucHV0ICtcclxuICAgICAgICAncmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChtb250aGx5SW5wdXQgPiAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBtb250aGx5SW5wdXQgK1xyXG4gICAgICAgICd0aCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5tb250aGx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LW1vbnRobHkgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1tb250aGx5XCI+XHJcbiAgPGFwcC1mcmVxdWVuY3ktdG9wXHJcbiAgICBbaWRdPVwiMlwiXHJcbiAgICBbaW5wdXRUaW1lXT1cIm1vbnRobHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cIm1vbnRobHlJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIzXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktY2hlY2tib3gtbGlzdFxyXG4gICAgW2lkXT1cIjJcIlxyXG4gICAgW2xpc3RBcnJheV09XCJtb250aE5hbWVBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZE1vbnRobHlcIlxyXG4gICAgKHNlbGVjdGVkQ2hlY2tib3gpPVwib25Nb250aFNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0PlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbaWRdPVwiMlwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtwYWdlTmFtZV09XCInbW9udGhseSdcIlxyXG4gICAgW2RlYWN0aXZhdGVWYWx1ZV09XCJtb250aGx5RGVhY3RpdmF0ZWRWYWx1ZVwiXHJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJ0cnVlXCJcclxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJtb250aGx5V2luZG93XCJcclxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJtb250aGx5RmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjJcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJtb250aGx5TGlmZUN5Y2xlU3RhcnRcIlxyXG4gICAgW2VuZERhdGVdPVwibW9udGhseUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgW29jY3VycmFuY2VdPVwibW9udGhseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cIm1vbnRobHlTZWxldGVkTGlmZWN5Y2xlVHlwZVwiXHJcbiAgICAoc2VsZWN0ZWRPY2N1cmFuY2UpPVwibGlmZWN5Y2xlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1saWZlY3ljbGU+XHJcbjwvZGl2PlxyXG4iXX0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx5QkFBeUI7SUEyQnBDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBMUI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLG9CQUFlLEdBQUcsWUFBWSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUVsQiwwQkFBcUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLDRCQUF1QixHQUFHLElBQUksSUFBSSxDQUNoQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUNoRCxDQUFDO1FBQ0YsOEJBQXlCLEdB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SUFBSSxDQUFDO29CQUN4QixNQUFNO29CQUNOLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDeEI7YUFBTSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDM0IsV0FBVztnQkFDVCxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLE1BQU07b0JBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUN4QjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7O3NIQXZOVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix3TkNWdEMsZzNDQXVDQTsyRkQ3QmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1Qjt1R0FLeEIsSUFBSTtzQkFBWixLQUFLO2dCQXFCRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktbW9udGhseScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1tb250aGx5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktbW9udGhseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcblxyXG4gIG1vbnRobHlJbnRlcnZhbCA9IERFRkFVTFRfVElNRTtcclxuICBtb250aGx5SW5wdXQgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBtb250aGx5RmFpbGVkID0gNTtcclxuICBtb250aGx5V2luZG93ID0gNztcclxuXHJcbiAgbW9udGhseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICBtb250aGx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5tb250aGx5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIG1vbnRobHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBtb250aGx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIHNlbGVjdGVkTW9udGhseSA9IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTFdO1xyXG4gIG1vbnRobHlEZWFjdGl2YXRlZFZhbHVlID0gMTA7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIG1vbnRoTmFtZUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgc2hvcnRNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLm1vbnRoTmFtZUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkpXTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcCgobW9udGgpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDNcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSBwYXR0ZXJuSW5mb1syXVxyXG4gICAgICAuc3BsaXQoJywnKVxyXG4gICAgICAubWFwKChlbGU6IGFueSkgPT4gTnVtYmVyKGVsZSkgLSAxKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy5tb250aGx5SW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMubW9udGhseVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLm1vbnRobHlJbnB1dCA9IE51bWJlcihwYXR0ZXJuSW5mb1sxXSk7XHJcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgICB0aGlzLm1vbnRobHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5tb250aGx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLm1vbnRobHlGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgdGhpcy5tb250aGx5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgJyArIERFRkFVTFRfVElNRSxcclxuICAgICAgICAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICB0aGlzLm1vbnRobHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoZGF0ZVNlbGVjdGVkICogMTAwMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlO1xyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUgPT0gJzAwMDAtMDAtMDB+fjAnKSB7XHJcbiAgICAgIHRoaXMubW9udGhseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMubW9udGhseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9udGhseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMubW9udGhseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldE1vbnRobHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5tb250aGx5SW50ZXJ2YWwgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0TW9udGhseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25Nb250aFNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRobHkgPSB0aGlzLnNlbGVjdGVkTW9udGhseS5maWx0ZXIoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlICE9PSBldmVudC5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRNb250aGx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vbnRobHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRNb250aGx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnZGVhY3RpdmF0ZWQnKSB7XHJcbiAgICAgIHRoaXMubW9udGhseURlYWN0aXZhdGVkVmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy5tb250aGx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vbnRobHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0TW9udGhseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9udGhseUZyZXF1ZW5jeSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb250aGx5ID0gdGhpcy5zZWxlY3RlZE1vbnRobHkuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIGNvbnN0IG1vbnRoSW5kZXggPSB0aGlzLnNlbGVjdGVkTW9udGhseS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy5tb250aGx5SW5wdXQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICAzICsgJ34nICsgdGhpcy5tb250aGx5SW5wdXQgKyAnficgKyBtb250aEluZGV4ICsgJ34nICsgJzAnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAnbW9udGgnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5tb250aGx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMubW9udGhseVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5tb250aGx5SW50ZXJ2YWw7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMjRIciA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS50aW1lRnJvbTEyaFRvMjRoKFxyXG4gICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IE1hdGguZmxvb3IoXHJcbiAgICAgIHRoaXMubW9udGhseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSAvIDEwMDBcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPSB0aGlzLm1vbnRobHlEZWFjdGl2YXRlZFZhbHVlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcblxyXG4gIGdldEZyZXF1ZW5jeVBsYWNlaG9sZGVyKG1vbnRobHlJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZE1vbnRoID0gdGhpcy5zZWxlY3RlZE1vbnRobHkubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hvcnRNb250aFtlbGVdO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIGlmIChtb250aGx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChtb250aGx5SW5wdXQgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcybmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChtb250aGx5SW5wdXQgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICczcmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChtb250aGx5SW5wdXQgPT09IDIxIHx8IG1vbnRobHlJbnB1dCA9PT0gMzEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIG1vbnRobHlJbnB1dCArXHJcbiAgICAgICAgJ3N0IG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAobW9udGhseUlucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgbW9udGhseUlucHV0ICtcclxuICAgICAgICAnbmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgc2VsZWN0ZWRNb250aC5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMubW9udGhseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChtb250aGx5SW5wdXQgPT09IDIzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICBtb250aGx5SW5wdXQgK1xyXG4gICAgICAgICdyZCBvZiBldmVyeSAnICtcclxuICAgICAgICBzZWxlY3RlZE1vbnRoLmpvaW4oJywgJykgK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5tb250aGx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKG1vbnRobHlJbnB1dCA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIG1vbnRobHlJbnB1dCArXHJcbiAgICAgICAgJ3RoIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHNlbGVjdGVkTW9udGguam9pbignLCAnKSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLm1vbnRobHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICB9XHJcbn1cclxuIiwiPCEtLSA8cD5mcmVxdWVuY3ktbW9udGhseSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LW1vbnRobHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIyXCJcclxuICAgIFtpbnB1dFRpbWVdPVwibW9udGhseUludGVydmFsXCJcclxuICAgIFtvY2N1cnJlbmNlRmlyc3RdPVwibW9udGhseUlucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjNcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0XHJcbiAgICBbaWRdPVwiMlwiXHJcbiAgICBbbGlzdEFycmF5XT1cIm1vbnRoTmFtZUFycmF5XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkTW9udGhseVwiXHJcbiAgICAoc2VsZWN0ZWRDaGVja2JveCk9XCJvbk1vbnRoU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XHJcbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgIFtpZF09XCIyXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgW3BhZ2VOYW1lXT1cIidtb250aGx5J1wiXHJcbiAgICBbZGVhY3RpdmF0ZVZhbHVlXT1cIm1vbnRobHlEZWFjdGl2YXRlZFZhbHVlXCJcclxuICAgIFtpc0RlYWN0aXZhdGVkXT1cInRydWVcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cIm1vbnRobHlXaW5kb3dcIlxyXG4gICAgW25vdENvbXBsZXRlZFZhbHVlXT1cIm1vbnRobHlGYWlsZWRcIlxyXG4gICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXHJcbiAgICBbaWRdPVwiMlwiXHJcbiAgICBbc3RhcnREYXRlXT1cIm1vbnRobHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJtb250aGx5TGlmZUN5Y2xlRW5kVGltZVwiXHJcbiAgICBbb2NjdXJyYW5jZV09XCJtb250aGx5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwibW9udGhseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==