@skyux/core 8.0.0-alpha.2 → 8.0.0-alpha.20

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 (79) hide show
  1. package/documentation.json +1169 -1431
  2. package/esm2020/index.mjs +3 -1
  3. package/esm2020/lib/modules/adapter-service/adapter.module.mjs +4 -4
  4. package/esm2020/lib/modules/adapter-service/adapter.service.mjs +3 -3
  5. package/esm2020/lib/modules/affix/affix-config.mjs +1 -1
  6. package/esm2020/lib/modules/affix/affix-position.mjs +2 -0
  7. package/esm2020/lib/modules/affix/affix-rect.mjs +2 -0
  8. package/esm2020/lib/modules/affix/affix.directive.mjs +8 -4
  9. package/esm2020/lib/modules/affix/affix.module.mjs +4 -4
  10. package/esm2020/lib/modules/affix/affix.service.mjs +3 -3
  11. package/esm2020/lib/modules/affix/affixer.mjs +53 -28
  12. package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +3 -3
  13. package/esm2020/lib/modules/dock/dock-item.mjs +7 -7
  14. package/esm2020/lib/modules/dock/dock.component.mjs +4 -4
  15. package/esm2020/lib/modules/dock/dock.module.mjs +4 -4
  16. package/esm2020/lib/modules/dock/dock.service.mjs +10 -10
  17. package/esm2020/lib/modules/dynamic-component/dynamic-component.module.mjs +4 -4
  18. package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +3 -3
  19. package/esm2020/lib/modules/format/app-format.mjs +3 -3
  20. package/esm2020/lib/modules/id/id.directive.mjs +7 -7
  21. package/esm2020/lib/modules/id/id.module.mjs +4 -4
  22. package/esm2020/lib/modules/id/id.service.mjs +3 -3
  23. package/esm2020/lib/modules/log/log.module.mjs +4 -4
  24. package/esm2020/lib/modules/log/log.service.mjs +22 -11
  25. package/esm2020/lib/modules/media-query/media-query.module.mjs +4 -4
  26. package/esm2020/lib/modules/media-query/media-query.service.mjs +10 -10
  27. package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +3 -3
  28. package/esm2020/lib/modules/numeric/numeric.module.mjs +4 -4
  29. package/esm2020/lib/modules/numeric/numeric.options.mjs +12 -1
  30. package/esm2020/lib/modules/numeric/numeric.pipe.mjs +3 -3
  31. package/esm2020/lib/modules/numeric/numeric.service.mjs +26 -18
  32. package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +3 -3
  33. package/esm2020/lib/modules/overlay/overlay-config.mjs +1 -1
  34. package/esm2020/lib/modules/overlay/overlay-instance.mjs +13 -13
  35. package/esm2020/lib/modules/overlay/overlay-position.mjs +2 -0
  36. package/esm2020/lib/modules/overlay/overlay.component.mjs +14 -11
  37. package/esm2020/lib/modules/overlay/overlay.module.mjs +4 -4
  38. package/esm2020/lib/modules/overlay/overlay.service.mjs +3 -3
  39. package/esm2020/lib/modules/percent-pipe/percent-pipe.module.mjs +4 -4
  40. package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +7 -7
  41. package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +10 -10
  42. package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +3 -3
  43. package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +3 -3
  44. package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +4 -4
  45. package/esm2020/lib/modules/title/title.service.mjs +3 -3
  46. package/esm2020/lib/modules/trim/trim.directive.mjs +3 -3
  47. package/esm2020/lib/modules/trim/trim.module.mjs +4 -4
  48. package/esm2020/lib/modules/ui-config/ui-config.service.mjs +3 -3
  49. package/esm2020/lib/modules/viewkeeper/viewkeeper-host-options.mjs +3 -3
  50. package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +11 -11
  51. package/esm2020/lib/modules/viewkeeper/viewkeeper.module.mjs +4 -4
  52. package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +3 -3
  53. package/esm2020/lib/modules/window/window-ref.mjs +3 -3
  54. package/esm2020/testing/core-testing.module.mjs +4 -4
  55. package/esm2020/testing/mock-media-query.service.mjs +10 -10
  56. package/esm2020/testing/mock-ui-config.service.mjs +4 -4
  57. package/fesm2015/skyux-core-testing.mjs +16 -16
  58. package/fesm2015/skyux-core-testing.mjs.map +1 -1
  59. package/fesm2015/skyux-core.mjs +297 -244
  60. package/fesm2015/skyux-core.mjs.map +1 -1
  61. package/fesm2020/skyux-core-testing.mjs +16 -16
  62. package/fesm2020/skyux-core-testing.mjs.map +1 -1
  63. package/fesm2020/skyux-core.mjs +304 -244
  64. package/fesm2020/skyux-core.mjs.map +1 -1
  65. package/index.d.ts +2 -0
  66. package/lib/modules/affix/affix-config.d.ts +5 -0
  67. package/lib/modules/affix/affix-horizontal-alignment.d.ts +1 -1
  68. package/lib/modules/affix/affix-placement.d.ts +1 -1
  69. package/lib/modules/affix/affix-position.d.ts +1 -0
  70. package/lib/modules/affix/affix-rect.d.ts +11 -0
  71. package/lib/modules/affix/affix-vertical-alignment.d.ts +1 -1
  72. package/lib/modules/affix/affix.directive.d.ts +6 -1
  73. package/lib/modules/log/log.service.d.ts +11 -2
  74. package/lib/modules/media-query/media-query-listener.d.ts +1 -1
  75. package/lib/modules/numeric/numeric.options.d.ts +2 -0
  76. package/lib/modules/overlay/overlay-config.d.ts +5 -0
  77. package/lib/modules/overlay/overlay-position.d.ts +1 -0
  78. package/lib/modules/overlay/overlay.component.d.ts +2 -0
  79. package/package.json +8 -8
@@ -36,9 +36,17 @@ export class SkyNumericService {
36
36
  if (isNaN(value) || value === null) {
37
37
  return '';
38
38
  }
39
+ const numericOptions = {
40
+ digits: 0,
41
+ format: 'number',
42
+ currencySign: 'standard',
43
+ iso: 'USD',
44
+ truncateAfter: 1000,
45
+ ...options,
46
+ };
39
47
  const decimalPlaceRegExp = /\.0+$|(\.[0-9]*[1-9])0+$/;
40
- const locale = options.locale || this.currentLocale;
41
- const digits = options.digits || 0;
48
+ const locale = numericOptions.locale || this.currentLocale;
49
+ const digits = numericOptions.digits || 0;
42
50
  // Get the symbol for the number after rounding, since rounding could push the number
43
51
  // into a different symbol range.
44
52
  let roundedNumber = __classPrivateFieldGet(this, _SkyNumericService_instances, "m", _SkyNumericService_roundNumber).call(this, value, digits);
@@ -46,9 +54,9 @@ export class SkyNumericService {
46
54
  let suffix = '';
47
55
  for (let i = 0; i < __classPrivateFieldGet(this, _SkyNumericService_symbolIndex, "f").length; i++) {
48
56
  let symbol = __classPrivateFieldGet(this, _SkyNumericService_symbolIndex, "f")[i];
49
- if (options.truncate &&
50
- options.truncateAfter !== undefined &&
51
- roundedNumberAbs >= options.truncateAfter &&
57
+ if (numericOptions.truncate &&
58
+ numericOptions.truncateAfter !== undefined &&
59
+ roundedNumberAbs >= numericOptions.truncateAfter &&
52
60
  roundedNumberAbs >= symbol.value) {
53
61
  roundedNumber = __classPrivateFieldGet(this, _SkyNumericService_instances, "m", _SkyNumericService_roundNumber).call(this, value / symbol.value, digits);
54
62
  if (Math.abs(roundedNumber) === 1000 && i > 0) {
@@ -65,7 +73,7 @@ export class SkyNumericService {
65
73
  let digitsFormatted;
66
74
  let isDecimal = false;
67
75
  // Checks the string entered for format. Using toLowerCase to ignore case.
68
- switch (options.format?.toLowerCase()) {
76
+ switch (numericOptions.format?.toLowerCase()) {
69
77
  // In a case where a decimal value was not shortened and
70
78
  // the digit input is 2 or higher, it forces 2 digits.
71
79
  // For example, this prevents a value like $15.50 from displaying as $15.5.
@@ -73,8 +81,8 @@ export class SkyNumericService {
73
81
  // three decimal digits.
74
82
  case 'currency':
75
83
  isDecimal = value % 1 !== 0;
76
- if (options.minDigits) {
77
- digitsFormatted = `1.${options.minDigits}-${digits}`;
84
+ if (numericOptions.minDigits) {
85
+ digitsFormatted = `1.${numericOptions.minDigits}-${digits}`;
78
86
  }
79
87
  else if (isDecimal && digits >= 2) {
80
88
  digitsFormatted = `1.2-${digits}`;
@@ -82,12 +90,12 @@ export class SkyNumericService {
82
90
  else {
83
91
  digitsFormatted = `1.0-${digits}`;
84
92
  }
85
- output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digitsFormatted, options.iso,
93
+ output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digitsFormatted, numericOptions.iso,
86
94
  // Angular 5+ needs a string for this parameter, but Angular 4 needs a boolean.
87
95
  // To support both versions we can supply 'symbol' which will evaluate truthy for Angular 4
88
96
  // and the appropriate string value for Angular 5+.
89
97
  // See: https://angular.io/api/common/CurrencyPipe#parameters
90
- 'symbol', options.currencySign);
98
+ 'symbol', numericOptions.currencySign);
91
99
  // ^^^^^^ Result can't be null since the sanitized input is always a number.
92
100
  break;
93
101
  // The following is a catch-all to ensure that if
@@ -96,10 +104,10 @@ export class SkyNumericService {
96
104
  default:
97
105
  // Ensures localization of the number to ensure comma and
98
106
  // decimal separator
99
- if (options.minDigits) {
100
- digitsFormatted = `1.${options.minDigits}-${digits}`;
107
+ if (numericOptions.minDigits) {
108
+ digitsFormatted = `1.${numericOptions.minDigits}-${digits}`;
101
109
  }
102
- else if (options.truncate) {
110
+ else if (numericOptions.truncate) {
103
111
  digitsFormatted = `1.0-${digits}`;
104
112
  }
105
113
  else {
@@ -109,7 +117,7 @@ export class SkyNumericService {
109
117
  // ^^^^^^ Result can't be null since the sanitized input is always a number.
110
118
  break;
111
119
  }
112
- if (options.truncate) {
120
+ if (numericOptions.truncate) {
113
121
  output = __classPrivateFieldGet(this, _SkyNumericService_instances, "m", _SkyNumericService_replaceShortenSymbol).call(this, output);
114
122
  }
115
123
  return output;
@@ -160,12 +168,12 @@ _SkyNumericService_resourcesSvc = new WeakMap(), _SkyNumericService_symbolIndex
160
168
  // TODO: Need to implement the async `getString` method in a breaking change.
161
169
  return __classPrivateFieldGet(this, _SkyNumericService_resourcesSvc, "f").getStringForLocale({ locale: 'en_US' }, key);
162
170
  };
163
- SkyNumericService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyNumericService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
164
- SkyNumericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyNumericService, providedIn: 'any' });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyNumericService, decorators: [{
171
+ SkyNumericService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyNumericService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
172
+ SkyNumericService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyNumericService, providedIn: 'any' });
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyNumericService, decorators: [{
166
174
  type: Injectable,
167
175
  args: [{
168
176
  providedIn: 'any',
169
177
  }]
170
178
  }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFRdkYsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFBWSxZQUFvQzs7UUFmaEQ7OztXQUdHO1FBQ0ksa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUV4QixrREFBc0M7UUFFdEMsaURBQWlDO1FBRy9CLHVCQUFBLElBQUksbUNBQWlCLFlBQVksTUFBQSxDQUFDO1FBRWxDLHVCQUFBLElBQUksa0NBQWdCO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3pFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3pFLE1BQUEsQ0FBQztJ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QkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUsIFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreU51bWJlckZvcm1hdFV0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvbnVtYmVyLWZvcm1hdC9udW1iZXItZm9ybWF0LXV0aWxpdHknO1xuXG5pbXBvcnQgeyBTa3lOdW1lcmljU3ltYm9sIH0gZnJvbSAnLi9udW1lcmljLXN5bWJvbCc7XG5pbXBvcnQgeyBTa3lOdW1lcmljT3B0aW9ucyB9IGZyb20gJy4vbnVtZXJpYy5vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY1NlcnZpY2Uge1xuICAvKipcbiAgICogVGhlIGJyb3dzZXIncyBjdXJyZW50IGxvY2FsZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY3VycmVudExvY2FsZSA9ICdlbi1VUyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNob3J0U3ltYm9sID0gJyc7XG5cbiAgI3Jlc291cmNlc1N2YzogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcblxuICAjc3ltYm9sSW5kZXg6IFNreU51bWVyaWNTeW1ib2xbXTtcblxuICBjb25zdHJ1Y3RvcihyZXNvdXJjZXNTdmM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UpIHtcbiAgICB0aGlzLiNyZXNvdXJjZXNTdmMgPSByZXNvdXJjZXNTdmM7XG5cbiAgICB0aGlzLiNzeW1ib2xJbmRleCA9IFtcbiAgICAgIHsgdmFsdWU6IDFlMTIsIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdHJpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgICB7IHZhbHVlOiAxZTksIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfYmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICAgIHsgdmFsdWU6IDFlNiwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19taWxsaW9uc19zeW1ib2wnKSB9LFxuICAgICAgeyB2YWx1ZTogMWUzLCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3Rob3VzYW5kc19zeW1ib2wnKSB9LFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0cyBhIG51bWJlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBGb3JtYXQgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgb3B0aW9uczogU2t5TnVtZXJpY09wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkZWNpbWFsUGxhY2VSZWdFeHAgPSAvXFwuMCskfChcXC5bMC05XSpbMS05XSkwKyQvO1xuICAgIGNvbnN0IGxvY2FsZSA9IG9wdGlvbnMubG9jYWxlIHx8IHRoaXMuY3VycmVudExvY2FsZTtcbiAgICBjb25zdCBkaWdpdHMgPSBvcHRpb25zLmRpZ2l0cyB8fCAwO1xuXG4gICAgLy8gR2V0IHRoZSBzeW1ib2wgZm9yIHRoZSBudW1iZXIgYWZ0ZXIgcm91bmRpbmcsIHNpbmNlIHJvdW5kaW5nIGNvdWxkIHB1c2ggdGhlIG51bWJlclxuICAgIC8vIGludG8gYSBkaWZmZXJlbnQgc3ltYm9sIHJhbmdlLlxuICAgIGxldCByb3VuZGVkTnVtYmVyID0gdGhpcy4jcm91bmROdW1iZXIodmFsdWUsIGRpZ2l0cyk7XG4gICAgY29uc3Qgcm91bmRlZE51bWJlckFicyA9IE1hdGguYWJzKHJvdW5kZWROdW1iZXIpO1xuXG4gICAgbGV0IHN1ZmZpeCA9ICcnO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLiNzeW1ib2xJbmRleC5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IHN5bWJvbCA9IHRoaXMuI3N5bWJvbEluZGV4W2ldO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG9wdGlvbnMudHJ1bmNhdGUgJiZcbiAgICAgICAgb3B0aW9ucy50cnVuY2F0ZUFmdGVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBvcHRpb25zLnRydW5jYXRlQWZ0ZXIgJiZcbiAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBzeW1ib2wudmFsdWVcbiAgICAgICkge1xuICAgICAgICByb3VuZGVkTnVtYmVyID0gdGhpcy4jcm91bmROdW1iZXIodmFsdWUgLyBzeW1ib2wudmFsdWUsIGRpZ2l0cyk7XG5cbiAgICAgICAgaWYgKE1hdGguYWJzKHJvdW5kZWROdW1iZXIpID09PSAxMDAwICYmIGkgPiAwKSB7XG4gICAgICAgICAgLy8gUm91bmRpbmcgY2F1c2VkIHRoZSBudW1iZXIgdG8gY3Jvc3MgaW50byB0aGUgcmFuZ2Ugb2YgdGhlIG5leHQgc3ltYm9sLlxuICAgICAgICAgIHN5bWJvbCA9IHRoaXMuI3N5bWJvbEluZGV4W2kgLSAxXTtcbiAgICAgICAgICByb3VuZGVkTnVtYmVyIC89IDEwMDA7XG4gICAgICAgIH1cblxuICAgICAgICBzdWZmaXggPSBzeW1ib2wubGFiZWw7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG91dHB1dDogc3RyaW5nID1cbiAgICAgIHJvdW5kZWROdW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKGRlY2ltYWxQbGFjZVJlZ0V4cCwgJyQxJykgKyBzdWZmaXg7XG5cbiAgICB0aGlzLiNzdG9yZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcblxuICAgIGxldCBkaWdpdHNGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgaXNEZWNpbWFsID0gZmFsc2U7XG5cbiAgICAvLyBDaGVja3MgdGhlIHN0cmluZyBlbnRlcmVkIGZvciBmb3JtYXQuIFVzaW5nIHRvTG93ZXJDYXNlIHRvIGlnbm9yZSBjYXNlLlxuICAgIHN3aXRjaCAob3B0aW9ucy5mb3JtYXQ/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIC8vIEluIGEgY2FzZSB3aGVyZSBhIGRlY2ltYWwgdmFsdWUgd2FzIG5vdCBzaG9ydGVuZWQgYW5kXG4gICAgICAvLyB0aGUgZGlnaXQgaW5wdXQgaXMgMiBvciBoaWdoZXIsIGl0IGZvcmNlcyAyIGRpZ2l0cy5cbiAgICAgIC8vIEZvciBleGFtcGxlLCB0aGlzIHByZXZlbnRzIGEgdmFsdWUgbGlrZSAkMTUuNTAgZnJvbSBkaXNwbGF5aW5nIGFzICQxNS41LlxuICAgICAgLy8gTm90ZTogVGhpcyB3aWxsIG5lZWQgdG8gYmUgcmV2aWV3ZWQgaWYgd2Ugc3VwcG9ydCBjdXJyZW5jaWVzIHdpdGhcbiAgICAgIC8vIHRocmVlIGRlY2ltYWwgZGlnaXRzLlxuICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICBpc0RlY2ltYWwgPSB2YWx1ZSAlIDEgIT09IDA7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtvcHRpb25zLm1pbkRpZ2l0c30tJHtkaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlY2ltYWwgJiYgZGlnaXRzID49IDIpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4yLSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuMC0ke2RpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgb3V0cHV0ID0gU2t5TnVtYmVyRm9ybWF0VXRpbGl0eS5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhcnNlRmxvYXQob3V0cHV0KSxcbiAgICAgICAgICBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUuQ3VycmVuY3ksXG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkLFxuICAgICAgICAgIG9wdGlvbnMuaXNvLFxuICAgICAgICAgIC8vIEFuZ3VsYXIgNSsgbmVlZHMgYSBzdHJpbmcgZm9yIHRoaXMgcGFyYW1ldGVyLCBidXQgQW5ndWxhciA0IG5lZWRzIGEgYm9vbGVhbi5cbiAgICAgICAgICAvLyBUbyBzdXBwb3J0IGJvdGggdmVyc2lvbnMgd2UgY2FuIHN1cHBseSAnc3ltYm9sJyB3aGljaCB3aWxsIGV2YWx1YXRlIHRydXRoeSBmb3IgQW5ndWxhciA0XG4gICAgICAgICAgLy8gYW5kIHRoZSBhcHByb3ByaWF0ZSBzdHJpbmcgdmFsdWUgZm9yIEFuZ3VsYXIgNSsuXG4gICAgICAgICAgLy8gU2VlOiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9DdXJyZW5jeVBpcGUjcGFyYW1ldGVyc1xuICAgICAgICAgICdzeW1ib2wnIGFzIGFueSxcbiAgICAgICAgICBvcHRpb25zLmN1cnJlbmN5U2lnblxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAob3B0aW9ucy5taW5EaWdpdHMpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4ke29wdGlvbnMubWluRGlnaXRzfS0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMudHJ1bmNhdGUpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4wLSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtkaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsLFxuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZFxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLiNyZXBsYWNlU2hvcnRlblN5bWJvbChvdXRwdXQpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICAvKipcbiAgICogUm91bmRzIGEgZ2l2ZW4gbnVtYmVyXG4gICAqXG4gICAqIEpTJ3MgbGltaXRhdGlvbiAtIG51bWJlcnMgYmlnZ2VyIHRoYW4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIgb3IgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICogYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHJlcHJlc2VudGVkIG9yIHJvdW5kZWQgY29ycmVjdGx5XG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHJvdW5kXG4gICAqIEBwYXJhbSBwcmVjaXNpb24gLSB3aGF0IHByZWNpc2lvbiB0byByb3VuZCB3aXRoLCBkZWZhdWx0cyB0byAwIGRlY2ltYWwgcGxhY2VzXG4gICAqL1xuICAjcm91bmROdW1iZXIodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChwcmVjaXNpb24gPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NreUludmFsaWRBcmd1bWVudDogcHJlY2lzaW9uIG11c3QgYmUgPj0gMCcpO1xuICAgIH1cblxuICAgIC8qIFNhbml0eSBjaGVjayAtIGlnbm9yaW5nIGNvdmVyYWdlIGJ1dCBzaG91bGQgbm90IGlnbm9yZSBpZiB3ZSBtYWtlIHRoaXMgbWV0aG9kIHB1YmxpYyAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGVkVmFsdWU6IG51bWJlciA9IHRoaXMuI3NjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgdmFsdWUsXG4gICAgICBwcmVjaXNpb24sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgICBjb25zdCBzY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IE1hdGgucm91bmQoc2NhbGVkVmFsdWUpO1xuICAgIGNvbnN0IHVuc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSB0aGlzLiNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICAgIHNjYWxlZFJvdW5kZWRWYWx1ZSxcbiAgICAgIHByZWNpc2lvbixcbiAgICAgIGZhbHNlXG4gICAgKTtcblxuICAgIHJldHVybiB1bnNjYWxlZFJvdW5kZWRWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY2FsZXMgYSBnaXZlbiBudW1iZXIgYnkgYSBwb3dlciBvZiAxMFxuICAgKiBAcGFyYW0gdmFsdWUgLSB2YWx1ZSB0byBzY2FsZVxuICAgKiBAcGFyYW0gc2NhbGFyIC0gMTBec2NhbGFyXG4gICAqIEBwYXJhbSBzY2FsZVVwIC0gd2hldGhlciB0byBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgdmFsdWVcbiAgICovXG4gICNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHNjYWxhcjogbnVtYmVyLFxuICAgIHNjYWxlVXA6IGJvb2xlYW5cbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZVN0cjogc3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXhwb25lbnRGb3JtYXQ6IGJvb2xlYW4gPSB2YWx1ZVN0ci5pbmNsdWRlcygnZScpO1xuXG4gICAgaWYgKGlzRXhwb25lbnRGb3JtYXQpIHtcbiAgICAgIGNvbnN0IFtiYXNlLCBleHBdID0gdmFsdWVTdHIuc3BsaXQoJ2UnKTtcbiAgICAgIGNvbnN0IG5ld0V4cCA9IHNjYWxlVXAgPyBOdW1iZXIoZXhwKSArIHNjYWxhciA6IE51bWJlcihleHApIC0gc2NhbGFyO1xuICAgICAgcmV0dXJuIE51bWJlcihgJHtiYXNlfWUke25ld0V4cH1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZSA9IHNjYWxlVXAgPyAnZScgOiAnZS0nO1xuICAgICAgcmV0dXJuIE51bWJlcihgJHt2YWx1ZX0ke2V9JHtzY2FsYXJ9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgc3ltYm9sIGFkZGVkIGZyb20gc2hvcnRlbmluZyB0byByZWFwcGx5IGxhdGVyLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB0byBkZXJpdmUgdGhlIHNob3J0ZW4gc3ltYm9sIGZyb20uXG4gICAqL1xuICAjc3RvcmVTaG9ydGVuU3ltYm9sKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzeW1ib2xzOiBzdHJpbmdbXSA9IHRoaXMuI3N5bWJvbEluZGV4Lm1hcCgocykgPT4gcy5sYWJlbCk7XG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChzeW1ib2xzLmpvaW4oJ3wnKSwgJ2lnJyk7XG4gICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChyZWdleHApO1xuICAgIHRoaXMuc2hvcnRTeW1ib2wgPSBtYXRjaCA/IG1hdGNoLnRvU3RyaW5nKCkgOiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXN0IGhhdmUgcHJldmlvdXNseSBjYWxsZWQgc3RvcmVTaG9ydGVuU3ltYm9sIHRvIGhhdmUgc29tZXRoaW5nIHRvIHJlcGxhY2UuXG4gICAqIEZpbmRzIHRoZSBsYXN0IG51bWJlciBpbiB0aGUgZm9ybWF0dGVkIG51bWJlciwgZ2V0cyB0aGUgaW5kZXggb2YgdGhlIHBvc2l0aW9uXG4gICAqIGFmdGVyIHRoYXQgY2hhcmFjdGVyIGFuZCByZS1pbnNlcnRzIHRoZSBzeW1ib2wuXG4gICAqIFdvcmtzIHJlZ2FyZGxlc3Mgb2YgY3VycmVuY3kgc3ltYm9sIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB0byBtb2RpZnkuXG4gICAqL1xuICAjcmVwbGFjZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0ID0gLyhcXGQpKD8hLipcXGQpL2cuZXhlYyh2YWx1ZSk7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgY29uc3QgcG9zID0gcmVzdWx0LmluZGV4ICsgcmVzdWx0Lmxlbmd0aDtcbiAgICAgIGNvbnN0IG91dHB1dCA9XG4gICAgICAgIHZhbHVlLnN1YnN0cmluZygwLCBwb3MpICsgdGhpcy5zaG9ydFN5bWJvbCArIHZhbHVlLnN1YnN0cmluZyhwb3MpO1xuXG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgI2dldFN5bWJvbChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU3ZjLmdldFN0cmluZ0ZvckxvY2FsZSh7IGxvY2FsZTogJ2VuX1VTJyB9LCBrZXkpO1xuICB9XG59XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFRdkYsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUIsWUFBWSxZQUFvQzs7UUFmaEQ7OztXQUdHO1FBQ0ksa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUV4QixrREFBc0M7UUFFdEMsaURBQWlDO1FBRy9CLHVCQUFBLElBQUksbUNBQWlCLFlBQVksTUFBQSxDQUFDO1FBRWxDLHVCQUFBLElBQUksa0NBQWdCO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3pFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSwrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsdUJBQUEsSUFBSSxrRUFBVyxNQUFmLElBQUksRUFBWSxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3pFLE1BQUEsQ0FBQztJ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QzdFLE9BQU8sdUJBQUEsSUFBSSx1Q0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7OEdBdFBVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLEtBQUs7MkZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSwgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5TnVtYmVyRm9ybWF0VXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eSc7XG5cbmltcG9ydCB7IFNreU51bWVyaWNTeW1ib2wgfSBmcm9tICcuL251bWVyaWMtc3ltYm9sJztcbmltcG9ydCB7IFNreU51bWVyaWNPcHRpb25zIH0gZnJvbSAnLi9udW1lcmljLm9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lOdW1lcmljU2VydmljZSB7XG4gIC8qKlxuICAgKiBUaGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjdXJyZW50TG9jYWxlID0gJ2VuLVVTJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2hvcnRTeW1ib2wgPSAnJztcblxuICAjcmVzb3VyY2VzU3ZjOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuXG4gICNzeW1ib2xJbmRleDogU2t5TnVtZXJpY1N5bWJvbFtdO1xuXG4gIGNvbnN0cnVjdG9yKHJlc291cmNlc1N2YzogU2t5TGliUmVzb3VyY2VzU2VydmljZSkge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2YyA9IHJlc291cmNlc1N2YztcblxuICAgIHRoaXMuI3N5bWJvbEluZGV4ID0gW1xuICAgICAgeyB2YWx1ZTogMWUxMiwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY190cmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICAgIHsgdmFsdWU6IDFlOSwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19iaWxsaW9uc19zeW1ib2wnKSB9LFxuICAgICAgeyB2YWx1ZTogMWU2LCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX21pbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgICB7IHZhbHVlOiAxZTMsIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdGhvdXNhbmRzX3N5bWJvbCcpIH0sXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXRzIGEgbnVtYmVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdCBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyLCBvcHRpb25zOiBTa3lOdW1lcmljT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IG51bWVyaWNPcHRpb25zOiBTa3lOdW1lcmljT3B0aW9ucyA9IHtcbiAgICAgIGRpZ2l0czogMCxcbiAgICAgIGZvcm1hdDogJ251bWJlcicsXG4gICAgICBjdXJyZW5jeVNpZ246ICdzdGFuZGFyZCcsXG4gICAgICBpc286ICdVU0QnLFxuICAgICAgdHJ1bmNhdGVBZnRlcjogMTAwMCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGRlY2ltYWxQbGFjZVJlZ0V4cCA9IC9cXC4wKyR8KFxcLlswLTldKlsxLTldKTArJC87XG4gICAgY29uc3QgbG9jYWxlID0gbnVtZXJpY09wdGlvbnMubG9jYWxlIHx8IHRoaXMuY3VycmVudExvY2FsZTtcbiAgICBjb25zdCBkaWdpdHMgPSBudW1lcmljT3B0aW9ucy5kaWdpdHMgfHwgMDtcblxuICAgIC8vIEdldCB0aGUgc3ltYm9sIGZvciB0aGUgbnVtYmVyIGFmdGVyIHJvdW5kaW5nLCBzaW5jZSByb3VuZGluZyBjb3VsZCBwdXNoIHRoZSBudW1iZXJcbiAgICAvLyBpbnRvIGEgZGlmZmVyZW50IHN5bWJvbCByYW5nZS5cbiAgICBsZXQgcm91bmRlZE51bWJlciA9IHRoaXMuI3JvdW5kTnVtYmVyKHZhbHVlLCBkaWdpdHMpO1xuICAgIGNvbnN0IHJvdW5kZWROdW1iZXJBYnMgPSBNYXRoLmFicyhyb3VuZGVkTnVtYmVyKTtcblxuICAgIGxldCBzdWZmaXggPSAnJztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy4jc3ltYm9sSW5kZXgubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBzeW1ib2wgPSB0aGlzLiNzeW1ib2xJbmRleFtpXTtcblxuICAgICAgaWYgKFxuICAgICAgICBudW1lcmljT3B0aW9ucy50cnVuY2F0ZSAmJlxuICAgICAgICBudW1lcmljT3B0aW9ucy50cnVuY2F0ZUFmdGVyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgcm91bmRlZE51bWJlckFicyA+PSBudW1lcmljT3B0aW9ucy50cnVuY2F0ZUFmdGVyICYmXG4gICAgICAgIHJvdW5kZWROdW1iZXJBYnMgPj0gc3ltYm9sLnZhbHVlXG4gICAgICApIHtcbiAgICAgICAgcm91bmRlZE51bWJlciA9IHRoaXMuI3JvdW5kTnVtYmVyKHZhbHVlIC8gc3ltYm9sLnZhbHVlLCBkaWdpdHMpO1xuXG4gICAgICAgIGlmIChNYXRoLmFicyhyb3VuZGVkTnVtYmVyKSA9PT0gMTAwMCAmJiBpID4gMCkge1xuICAgICAgICAgIC8vIFJvdW5kaW5nIGNhdXNlZCB0aGUgbnVtYmVyIHRvIGNyb3NzIGludG8gdGhlIHJhbmdlIG9mIHRoZSBuZXh0IHN5bWJvbC5cbiAgICAgICAgICBzeW1ib2wgPSB0aGlzLiNzeW1ib2xJbmRleFtpIC0gMV07XG4gICAgICAgICAgcm91bmRlZE51bWJlciAvPSAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VmZml4ID0gc3ltYm9sLmxhYmVsO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvdXRwdXQ6IHN0cmluZyA9XG4gICAgICByb3VuZGVkTnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZShkZWNpbWFsUGxhY2VSZWdFeHAsICckMScpICsgc3VmZml4O1xuXG4gICAgdGhpcy4jc3RvcmVTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG5cbiAgICBsZXQgZGlnaXRzRm9ybWF0dGVkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGlzRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgLy8gQ2hlY2tzIHRoZSBzdHJpbmcgZW50ZXJlZCBmb3IgZm9ybWF0LiBVc2luZyB0b0xvd2VyQ2FzZSB0byBpZ25vcmUgY2FzZS5cbiAgICBzd2l0Y2ggKG51bWVyaWNPcHRpb25zLmZvcm1hdD8udG9Mb3dlckNhc2UoKSkge1xuICAgICAgLy8gSW4gYSBjYXNlIHdoZXJlIGEgZGVjaW1hbCB2YWx1ZSB3YXMgbm90IHNob3J0ZW5lZCBhbmRcbiAgICAgIC8vIHRoZSBkaWdpdCBpbnB1dCBpcyAyIG9yIGhpZ2hlciwgaXQgZm9yY2VzIDIgZGlnaXRzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoaXMgcHJldmVudHMgYSB2YWx1ZSBsaWtlICQxNS41MCBmcm9tIGRpc3BsYXlpbmcgYXMgJDE1LjUuXG4gICAgICAvLyBOb3RlOiBUaGlzIHdpbGwgbmVlZCB0byBiZSByZXZpZXdlZCBpZiB3ZSBzdXBwb3J0IGN1cnJlbmNpZXMgd2l0aFxuICAgICAgLy8gdGhyZWUgZGVjaW1hbCBkaWdpdHMuXG4gICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgIGlzRGVjaW1hbCA9IHZhbHVlICUgMSAhPT0gMDtcblxuICAgICAgICBpZiAobnVtZXJpY09wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtudW1lcmljT3B0aW9ucy5taW5EaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZWNpbWFsICYmIGRpZ2l0cyA+PSAyKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuMi0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLjAtJHtkaWdpdHN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJzZUZsb2F0KG91dHB1dCksXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5LFxuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCxcbiAgICAgICAgICBudW1lcmljT3B0aW9ucy5pc28sXG4gICAgICAgICAgLy8gQW5ndWxhciA1KyBuZWVkcyBhIHN0cmluZyBmb3IgdGhpcyBwYXJhbWV0ZXIsIGJ1dCBBbmd1bGFyIDQgbmVlZHMgYSBib29sZWFuLlxuICAgICAgICAgIC8vIFRvIHN1cHBvcnQgYm90aCB2ZXJzaW9ucyB3ZSBjYW4gc3VwcGx5ICdzeW1ib2wnIHdoaWNoIHdpbGwgZXZhbHVhdGUgdHJ1dGh5IGZvciBBbmd1bGFyIDRcbiAgICAgICAgICAvLyBhbmQgdGhlIGFwcHJvcHJpYXRlIHN0cmluZyB2YWx1ZSBmb3IgQW5ndWxhciA1Ky5cbiAgICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0N1cnJlbmN5UGlwZSNwYXJhbWV0ZXJzXG4gICAgICAgICAgJ3N5bWJvbCcgYXMgYW55LFxuICAgICAgICAgIG51bWVyaWNPcHRpb25zLmN1cnJlbmN5U2lnblxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgY2F0Y2gtYWxsIHRvIGVuc3VyZSB0aGF0IGlmXG4gICAgICAvLyBhbnl0aGluZyBidXQgY3VycmVuY3kgKG9yIGEgZnV0dXJlIG9wdGlvbikgYXJlIGVudGVyZWQsXG4gICAgICAvLyBpdCB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG51bWJlci5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIEVuc3VyZXMgbG9jYWxpemF0aW9uIG9mIHRoZSBudW1iZXIgdG8gZW5zdXJlIGNvbW1hIGFuZFxuICAgICAgICAvLyBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAgICBpZiAobnVtZXJpY09wdGlvbnMubWluRGlnaXRzKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtudW1lcmljT3B0aW9ucy5taW5EaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSBpZiAobnVtZXJpY09wdGlvbnMudHJ1bmNhdGUpIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4wLSR7ZGlnaXRzfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuJHtkaWdpdHN9LSR7ZGlnaXRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsLFxuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZFxuICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgLy8gICBeXl5eXl4gUmVzdWx0IGNhbid0IGJlIG51bGwgc2luY2UgdGhlIHNhbml0aXplZCBpbnB1dCBpcyBhbHdheXMgYSBudW1iZXIuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljT3B0aW9ucy50cnVuY2F0ZSkge1xuICAgICAgb3V0cHV0ID0gdGhpcy4jcmVwbGFjZVNob3J0ZW5TeW1ib2wob3V0cHV0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdW5kcyBhIGdpdmVuIG51bWJlclxuICAgKlxuICAgKiBKUydzIGxpbWl0YXRpb24gLSBudW1iZXJzIGJpZ2dlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSIG9yIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAqIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZSByZXByZXNlbnRlZCBvciByb3VuZGVkIGNvcnJlY3RseVxuICAgKiBAcGFyYW0gdmFsdWUgLSB2YWx1ZSB0byByb3VuZFxuICAgKiBAcGFyYW0gcHJlY2lzaW9uIC0gd2hhdCBwcmVjaXNpb24gdG8gcm91bmQgd2l0aCwgZGVmYXVsdHMgdG8gMCBkZWNpbWFsIHBsYWNlc1xuICAgKi9cbiAgI3JvdW5kTnVtYmVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAocHJlY2lzaW9uIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTa3lJbnZhbGlkQXJndW1lbnQ6IHByZWNpc2lvbiBtdXN0IGJlID49IDAnKTtcbiAgICB9XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgLSBpZ25vcmluZyBjb3ZlcmFnZSBidXQgc2hvdWxkIG5vdCBpZ25vcmUgaWYgd2UgbWFrZSB0aGlzIG1ldGhvZCBwdWJsaWMgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHNjYWxlZFZhbHVlOiBudW1iZXIgPSB0aGlzLiNzY2FsZU51bWJlckJ5UG93ZXJPZlRlbihcbiAgICAgIHZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgY29uc3Qgc2NhbGVkUm91bmRlZFZhbHVlOiBudW1iZXIgPSBNYXRoLnJvdW5kKHNjYWxlZFZhbHVlKTtcbiAgICBjb25zdCB1bnNjYWxlZFJvdW5kZWRWYWx1ZTogbnVtYmVyID0gdGhpcy4jc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgICBzY2FsZWRSb3VuZGVkVmFsdWUsXG4gICAgICBwcmVjaXNpb24sXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICByZXR1cm4gdW5zY2FsZWRSb3VuZGVkVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGVzIGEgZ2l2ZW4gbnVtYmVyIGJ5IGEgcG93ZXIgb2YgMTBcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gc2NhbGVcbiAgICogQHBhcmFtIHNjYWxhciAtIDEwXnNjYWxhclxuICAgKiBAcGFyYW0gc2NhbGVVcCAtIHdoZXRoZXIgdG8gaW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHZhbHVlXG4gICAqL1xuICAjc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBzY2FsYXI6IG51bWJlcixcbiAgICBzY2FsZVVwOiBib29sZWFuXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWVTdHI6IHN0cmluZyA9IHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBpc0V4cG9uZW50Rm9ybWF0OiBib29sZWFuID0gdmFsdWVTdHIuaW5jbHVkZXMoJ2UnKTtcblxuICAgIGlmIChpc0V4cG9uZW50Rm9ybWF0KSB7XG4gICAgICBjb25zdCBbYmFzZSwgZXhwXSA9IHZhbHVlU3RyLnNwbGl0KCdlJyk7XG4gICAgICBjb25zdCBuZXdFeHAgPSBzY2FsZVVwID8gTnVtYmVyKGV4cCkgKyBzY2FsYXIgOiBOdW1iZXIoZXhwKSAtIHNjYWxhcjtcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7YmFzZX1lJHtuZXdFeHB9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGUgPSBzY2FsZVVwID8gJ2UnIDogJ2UtJztcbiAgICAgIHJldHVybiBOdW1iZXIoYCR7dmFsdWV9JHtlfSR7c2NhbGFyfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHN5bWJvbCBhZGRlZCBmcm9tIHNob3J0ZW5pbmcgdG8gcmVhcHBseSBsYXRlci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gZGVyaXZlIHRoZSBzaG9ydGVuIHN5bWJvbCBmcm9tLlxuICAgKi9cbiAgI3N0b3JlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc3ltYm9sczogc3RyaW5nW10gPSB0aGlzLiNzeW1ib2xJbmRleC5tYXAoKHMpID0+IHMubGFiZWwpO1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoc3ltYm9scy5qb2luKCd8JyksICdpZycpO1xuICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXhwKTtcbiAgICB0aGlzLnNob3J0U3ltYm9sID0gbWF0Y2ggPyBtYXRjaC50b1N0cmluZygpIDogJyc7XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBoYXZlIHByZXZpb3VzbHkgY2FsbGVkIHN0b3JlU2hvcnRlblN5bWJvbCB0byBoYXZlIHNvbWV0aGluZyB0byByZXBsYWNlLlxuICAgKiBGaW5kcyB0aGUgbGFzdCBudW1iZXIgaW4gdGhlIGZvcm1hdHRlZCBudW1iZXIsIGdldHMgdGhlIGluZGV4IG9mIHRoZSBwb3NpdGlvblxuICAgKiBhZnRlciB0aGF0IGNoYXJhY3RlciBhbmQgcmUtaW5zZXJ0cyB0aGUgc3ltYm9sLlxuICAgKiBXb3JrcyByZWdhcmRsZXNzIG9mIGN1cnJlbmN5IHN5bWJvbCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdG8gbW9kaWZ5LlxuICAgKi9cbiAgI3JlcGxhY2VTaG9ydGVuU3ltYm9sKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlc3VsdCA9IC8oXFxkKSg/IS4qXFxkKS9nLmV4ZWModmFsdWUpO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGNvbnN0IHBvcyA9IHJlc3VsdC5pbmRleCArIHJlc3VsdC5sZW5ndGg7XG4gICAgICBjb25zdCBvdXRwdXQgPVxuICAgICAgICB2YWx1ZS5zdWJzdHJpbmcoMCwgcG9zKSArIHRoaXMuc2hvcnRTeW1ib2wgKyB2YWx1ZS5zdWJzdHJpbmcocG9zKTtcblxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gICNnZXRTeW1ib2woa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IE5lZWQgdG8gaW1wbGVtZW50IHRoZSBhc3luYyBgZ2V0U3RyaW5nYCBtZXRob2QgaW4gYSBicmVha2luZyBjaGFuZ2UuXG4gICAgcmV0dXJuIHRoaXMuI3Jlc291cmNlc1N2Yy5nZXRTdHJpbmdGb3JMb2NhbGUoeyBsb2NhbGU6ICdlbl9VUycgfSwga2V5KTtcbiAgfVxufVxuIl19
@@ -36,9 +36,9 @@ _SkyOverlayAdapterService_renderer = new WeakMap(), _SkyOverlayAdapterService_st
36
36
  __classPrivateFieldGet(this, _SkyOverlayAdapterService_renderer, "f").removeChild(document.head, __classPrivateFieldGet(this, _SkyOverlayAdapterService_styleElement, "f"));
37
37
  }
38
38
  };
39
- SkyOverlayAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
40
- SkyOverlayAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
39
+ SkyOverlayAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ SkyOverlayAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{
44
44
  providedIn: 'root',
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lPdmVybGF5Q29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgY2xvc2VzIGFmdGVyIGEgbmF2aWdhdGlvbiBjaGFuZ2UuXG4gICAqL1xuICBjbG9zZU9uTmF2aWdhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgY2xvc2VzIHdoZW4gYSB1c2VyIGNsaWNrcyBvdXRzaWRlIHRoZSBvdmVybGF5J3MgY29udGVudC5cbiAgICovXG4gIGVuYWJsZUNsb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBtb3VzZSBpbnRlcmFjdGlvbnMgYXJlIGFsbG93ZWQgYmVsb3cgdGhlIGJhY2tkcm9wLlxuICAgKi9cbiAgZW5hYmxlUG9pbnRlckV2ZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgd2luZG93IHNjcm9sbGluZyBpcyBlbmFibGVkIHdoZW4gdGhlIG92ZXJsYXkgaXMgb3BlbmVkLlxuICAgKi9cbiAgZW5hYmxlU2Nyb2xsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIGlzIHZpc2libGUuXG4gICAqL1xuICBzaG93QmFja2Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBDU1MgY2xhc3NlcyB0byBhZGQgdG8gdGhlIG92ZXJsYXkncyB3cmFwcGVyIGVsZW1lbnQuXG4gICAqL1xuICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5T3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9vdmVybGF5LXBvc2l0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lPdmVybGF5Q29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgY2xvc2VzIGFmdGVyIGEgbmF2aWdhdGlvbiBjaGFuZ2UuXG4gICAqL1xuICBjbG9zZU9uTmF2aWdhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgY2xvc2VzIHdoZW4gYSB1c2VyIGNsaWNrcyBvdXRzaWRlIHRoZSBvdmVybGF5J3MgY29udGVudC5cbiAgICovXG4gIGVuYWJsZUNsb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBtb3VzZSBpbnRlcmFjdGlvbnMgYXJlIGFsbG93ZWQgYmVsb3cgdGhlIGJhY2tkcm9wLlxuICAgKi9cbiAgZW5hYmxlUG9pbnRlckV2ZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgd2luZG93IHNjcm9sbGluZyBpcyBlbmFibGVkIHdoZW4gdGhlIG92ZXJsYXkgaXMgb3BlbmVkLlxuICAgKi9cbiAgZW5hYmxlU2Nyb2xsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIGlzIHZpc2libGUuXG4gICAqL1xuICBzaG93QmFja2Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBDU1MgY2xhc3NlcyB0byBhZGQgdG8gdGhlIG92ZXJsYXkncyB3cmFwcGVyIGVsZW1lbnQuXG4gICAqL1xuICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgb3ZlcmxheSBpbnN0YW5jZS5cbiAgICovXG4gIHBvc2l0aW9uPzogU2t5T3ZlcmxheVBvc2l0aW9uO1xufVxuIl19
@@ -6,6 +6,18 @@ import { Subject } from 'rxjs';
6
6
  * and access any public members on the appended content component instance.
7
7
  */
8
8
  export class SkyOverlayInstance {
9
+ /**
10
+ * Emits when the overlay is clicked (but not its content).
11
+ */
12
+ get backdropClick() {
13
+ return __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClickObs, "f");
14
+ }
15
+ /**
16
+ * Emits after the overlay is closed.
17
+ */
18
+ get closed() {
19
+ return __classPrivateFieldGet(this, _SkyOverlayInstance_closedObs, "f");
20
+ }
9
21
  constructor(
10
22
  /**
11
23
  * The configuration for the overlay.
@@ -31,18 +43,6 @@ export class SkyOverlayInstance {
31
43
  __classPrivateFieldSet(this, _SkyOverlayInstance_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClick, "f").asObservable(), "f");
32
44
  __classPrivateFieldSet(this, _SkyOverlayInstance_closedObs, __classPrivateFieldGet(this, _SkyOverlayInstance_closed, "f").asObservable(), "f");
33
45
  }
34
- /**
35
- * Emits when the overlay is clicked (but not its content).
36
- */
37
- get backdropClick() {
38
- return __classPrivateFieldGet(this, _SkyOverlayInstance_backdropClickObs, "f");
39
- }
40
- /**
41
- * Emits after the overlay is closed.
42
- */
43
- get closed() {
44
- return __classPrivateFieldGet(this, _SkyOverlayInstance_closedObs, "f");
45
- }
46
46
  /**
47
47
  * Creates and attaches a component to the overlay.
48
48
  * @param component The component to attach.
@@ -62,4 +62,4 @@ export class SkyOverlayInstance {
62
62
  }
63
63
  }
64
64
  _SkyOverlayInstance_backdropClick = new WeakMap(), _SkyOverlayInstance_backdropClickObs = new WeakMap(), _SkyOverlayInstance_closed = new WeakMap(), _SkyOverlayInstance_closedObs = new WeakMap();
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUF5QjdCO0lBQ0U7O09BRUc7SUFDYSxNQUF3QixFQUN4QixZQUErQztRQUQvQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBbUM7UUFiakUsb0RBQThCO1FBRTlCLHVEQUFvQztRQUVwQyw2Q0FBdUI7UUFFdkIsZ0RBQTZCO1FBUzNCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9DLHVCQUFBLElBQUksa0NBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQix1QkFBQSxJQUFJLGtDQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsdUJBQUEsSUFBSSx5Q0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsdUJBQUEsSUFBSSx5Q0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsdUJBQUEsSUFBSSxxQ0FBa0IsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBQzFDLHVCQUFBLElBQUksOEJBQVcsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBRW5DLHVCQUFBLElBQUksd0NBQXFCLHVCQUFBLElBQUkseUNBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO1FBQzVELHVCQUFBLElBQUksaUNBQWMsdUJBQUEsSUFBSSxrQ0FBUSxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7SUFDaEQsQ0FBQztJQWhERDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUN0QixPQUFPLHVCQUFBLElBQUksNENBQWtCLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLHFDQUFXLENBQUM7SUFDekIsQ0FBQztJQXNDRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUE0QjtRQUU1QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzdELFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBSSxXQUEyQixFQUFFLE9BQVc7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV3IG92ZXJsYXkgaW5zdGFuY2UuIEl0IGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBcImNsb3NlZFwiIHN0YXRlIG9mIHRoZSBvdmVybGF5LFxuICogYW5kIGFjY2VzcyBhbnkgcHVibGljIG1lbWJlcnMgb24gdGhlIGFwcGVuZGVkIGNvbnRlbnQgY29tcG9uZW50IGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG92ZXJsYXkgaXMgY2xpY2tlZCAoYnV0IG5vdCBpdHMgY29udGVudCkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgY2xvc2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjbG9zZWQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2Nsb3NlZE9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD5cbiAgKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmlkO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5iYWNrZHJvcENsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrT2JzID0gdGhpcy4jYmFja2Ryb3BDbGljay5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYSBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBhdHRhY2guXG4gICAqIEBwYXJhbSBwcm92aWRlcnMgQ3VzdG9tIHByb3ZpZGVycyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXVxuICApOiBDIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hdHRhY2hDb21wb25lbnQoXG4gICAgICBjb21wb25lbnQsXG4gICAgICBwcm92aWRlcnNcbiAgICApO1xuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBgVGVtcGxhdGVSZWZgIHRvIHRoZSBvdmVybGF5LlxuICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgVGhlIGBUZW1wbGF0ZVJlZmAgdG8gYXR0YWNoLlxuICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCB0byBwcm92aWRlIHRvIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIGNvbnRleHQ/OiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXR0YWNoVGVtcGxhdGUodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzNDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDdEIsT0FBTyx1QkFBQSxJQUFJLDRDQUFrQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSxxQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFZRDtJQUNFOztPQUVHO0lBQ2EsTUFBd0IsRUFDeEIsWUFBK0M7UUFEL0MsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQW1DO1FBYmpFLG9EQUE4QjtRQUU5Qix1REFBb0M7UUFFcEMsNkNBQXVCO1FBRXZCLGdEQUE2QjtRQVMzQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUV4QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQyx1QkFBQSxJQUFJLGtDQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsdUJBQUEsSUFBSSxrQ0FBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLHVCQUFBLElBQUkseUNBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELHVCQUFBLElBQUkseUNBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILHVCQUFBLElBQUkscUNBQWtCLElBQUksT0FBTyxFQUFRLE1BQUEsQ0FBQztRQUMxQyx1QkFBQSxJQUFJLDhCQUFXLElBQUksT0FBTyxFQUFRLE1BQUEsQ0FBQztRQUVuQyx1QkFBQSxJQUFJLHdDQUFxQix1QkFBQSxJQUFJLHlDQUFlLENBQUMsWUFBWSxFQUFFLE1BQUEsQ0FBQztRQUM1RCx1QkFBQSxJQUFJLGlDQUFjLHVCQUFBLElBQUksa0NBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUE0QjtRQUU1QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzdELFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBSSxXQUEyQixFQUFFLE9BQVc7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL292ZXJsYXkuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbmV3IG92ZXJsYXkgaW5zdGFuY2UuIEl0IGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBcImNsb3NlZFwiIHN0YXRlIG9mIHRoZSBvdmVybGF5LFxuICogYW5kIGFjY2VzcyBhbnkgcHVibGljIG1lbWJlcnMgb24gdGhlIGFwcGVuZGVkIGNvbnRlbnQgY29tcG9uZW50IGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIG92ZXJsYXkgaXMgY2xpY2tlZCAoYnV0IG5vdCBpdHMgY29udGVudCkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgY2xvc2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjbG9zZWQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2Nsb3NlZE9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2t5T3ZlcmxheUNvbXBvbmVudD5cbiAgKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmlkO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5iYWNrZHJvcENsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrT2JzID0gdGhpcy4jYmFja2Ryb3BDbGljay5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYSBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBhdHRhY2guXG4gICAqIEBwYXJhbSBwcm92aWRlcnMgQ3VzdG9tIHByb3ZpZGVycyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXVxuICApOiBDIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hdHRhY2hDb21wb25lbnQoXG4gICAgICBjb21wb25lbnQsXG4gICAgICBwcm92aWRlcnNcbiAgICApO1xuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgYSBgVGVtcGxhdGVSZWZgIHRvIHRoZSBvdmVybGF5LlxuICAgKiBAcGFyYW0gdGVtcGxhdGVSZWYgVGhlIGBUZW1wbGF0ZVJlZmAgdG8gYXR0YWNoLlxuICAgKiBAcGFyYW0gY29udGV4dCBUaGUgY29udGV4dCB0byBwcm92aWRlIHRvIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sIGNvbnRleHQ/OiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXR0YWNoVGVtcGxhdGUodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNreU92ZXJsYXlQb3NpdGlvbiA9ICdhYnNvbHV0ZScgfCAnZml4ZWQnO1xuIl19
@@ -11,6 +11,7 @@ import * as i2 from "./overlay-context";
11
11
  import * as i3 from "../id/id.service";
12
12
  import * as i4 from "@angular/router";
13
13
  import * as i5 from "@angular/common";
14
+ const POSITION_DEFAULT = 'fixed';
14
15
  /**
15
16
  * Omnibar is 1000.
16
17
  * See: https://github.com/blackbaud/auth-client/blob/master/src/omnibar/omnibar.ts#L139
@@ -29,6 +30,12 @@ let uniqueZIndex = 5000;
29
30
  * @internal
30
31
  */
31
32
  export class SkyOverlayComponent {
33
+ get backdropClick() {
34
+ return __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClickObs, "f");
35
+ }
36
+ get closed() {
37
+ return __classPrivateFieldGet(this, _SkyOverlayComponent_closedObs, "f");
38
+ }
32
39
  constructor(changeDetector, injector, coreAdapter, context, idSvc, router) {
33
40
  _SkyOverlayComponent_instances.add(this);
34
41
  this.wrapperClass = '';
@@ -36,6 +43,7 @@ export class SkyOverlayComponent {
36
43
  this.showBackdrop = false;
37
44
  this.zIndex = `${++uniqueZIndex}`;
38
45
  this.clipPath$ = new ReplaySubject(1);
46
+ this.position = POSITION_DEFAULT;
39
47
  _SkyOverlayComponent_backdropClick.set(this, void 0);
40
48
  _SkyOverlayComponent_backdropClickObs.set(this, void 0);
41
49
  _SkyOverlayComponent_changeDetector.set(this, void 0);
@@ -58,12 +66,6 @@ export class SkyOverlayComponent {
58
66
  __classPrivateFieldSet(this, _SkyOverlayComponent_backdropClickObs, __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClick, "f").asObservable(), "f");
59
67
  __classPrivateFieldSet(this, _SkyOverlayComponent_closedObs, __classPrivateFieldGet(this, _SkyOverlayComponent_closed, "f").asObservable(), "f");
60
68
  }
61
- get backdropClick() {
62
- return __classPrivateFieldGet(this, _SkyOverlayComponent_backdropClickObs, "f");
63
- }
64
- get closed() {
65
- return __classPrivateFieldGet(this, _SkyOverlayComponent_closedObs, "f");
66
- }
67
69
  ngOnInit() {
68
70
  __classPrivateFieldGet(this, _SkyOverlayComponent_instances, "m", _SkyOverlayComponent_applyConfig).call(this, __classPrivateFieldGet(this, _SkyOverlayComponent_context, "f").config);
69
71
  setTimeout(() => {
@@ -124,6 +126,7 @@ _SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdro
124
126
  this.wrapperClass = config.wrapperClass || '';
125
127
  this.showBackdrop = !!config.showBackdrop;
126
128
  this.enablePointerEvents = !!config.enablePointerEvents;
129
+ this.position = config.position || POSITION_DEFAULT;
127
130
  __classPrivateFieldGet(this, _SkyOverlayComponent_changeDetector, "f").markForCheck();
128
131
  }, _SkyOverlayComponent_addBackdropClickListener = function _SkyOverlayComponent_addBackdropClickListener() {
129
132
  fromEvent(window.document, 'click')
@@ -157,11 +160,11 @@ _SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdro
157
160
  __classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, undefined, "f");
158
161
  }
159
162
  };
160
- SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
161
- SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayComponent, decorators: [{
163
+ SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
164
+ SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayComponent, decorators: [{
163
166
  type: Component,
164
- args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
167
+ args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
165
168
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyOverlayContext }, { type: i3.SkyIdService }, { type: i4.Router, decorators: [{
166
169
  type: Optional
167
170
  }] }]; }, propDecorators: { id: [{
@@ -186,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
186
189
  static: true,
187
190
  }]
188
191
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBRVYsV0FBVyxFQUNYLFFBQVEsRUFHUixRQUFRLEVBSVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBQ2IsT0FBTyxFQUVQLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQUtsRjs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7QUFFeEI7O0dBRUc7QUFPSCxNQUFNLE9BQU8sbUJBQW1CO0lBOEQ5QixZQUNFLGNBQWlDLEVBQ2pDLFFBQWtCLEVBQ2xCLFdBQWtDLEVBQ2xDLE9BQTBCLEVBQzFCLEtBQW1CLEVBQ1AsTUFBZTs7UUFuRXRCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBVWxCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUs1QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixXQUFNLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBRTFCLGNB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QUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLHVCQUFBLElBQUksMkNBQXVCLFNBQVMsTUFBQSxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQztnSEF2TlUsbUJBQW1CO29HQUFuQixtQkFBbUIsaU1BdUJ0QixVQUFVLGlIQU1WLFVBQVUsNEdBTVYsZ0JBQWdCLDJDQ2hHMUIsMmFBZUE7MkZEOENhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OzBCQXNFNUMsUUFBUTs0Q0F0REosRUFBRTtzQkFEUixXQUFXO3VCQUFDLElBQUk7Z0JBYVYsaUJBQWlCO3NCQUp2QixTQUFTO3VCQUFDLG1CQUFtQixFQUFFO3dCQUM5QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sVUFBVTtzQkFKaEIsU0FBUzt1QkFBQyxZQUFZLEVBQUU7d0JBQ3ZCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxTQUFTO3NCQUpmLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFN0YXRpY1Byb3ZpZGVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBSZXBsYXlTdWJqZWN0LFxuICBTdWJqZWN0LFxuICBTdWJzY3JpcHRpb24sXG4gIGZyb21FdmVudCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnLi4vaWQvaWQuc2VydmljZSc7XG5pbXBvcnQgeyBTS1lfU1RBQ0tJTkdfQ09OVEVYVCB9IGZyb20gJy4uL3N0YWNraW5nLWNvbnRleHQvc3RhY2tpbmctY29udGV4dC10b2tlbic7XG5cbmltcG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL292ZXJsYXktY29uZmlnJztcbmltcG9ydCB7IFNreU92ZXJsYXlDb250ZXh0IH0gZnJvbSAnLi9vdmVybGF5LWNvbnRleHQnO1xuXG4vKipcbiAqIE9tbmliYXIgaXMgMTAwMC5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9hdXRoLWNsaWVudC9ibG9iL21hc3Rlci9zcmMvb21uaWJhci9vbW5pYmFyLnRzI0wxMzlcbiAqIC0tLVxuICogTW9kYWxzIHN0YXJ0IHRoZWlyIHotaW5kZXhlcyBhdCAxMDQwLiBIb3dldmVyLCBlYWNoIG1vZGFsJ3Mgei1pbmRleCBpcyBhIG11bHRpcGxlIG9mIDEwLCBzbyBpdFxuICogd2lsbCBiZSBkaWZmaWN1bHQgdG8gcmVsaWFibHkgcHJlZGljdCBhIHotaW5kZXggdGhhdCB3aWxsIGFsd2F5cyBhcHBlYXIgYWJvdmUgYWxsIG90aGVyXG4gKiBsYXllcnMuIFN0YXJ0aW5nIHRoZSB6LWluZGV4IGZvciBvdmVybGF5cyBhdCBhIG51bWJlciBtdWNoIGdyZWF0ZXIgdGhhbiBtb2RhbHMgd2lsbCBhY2NvbW1vZGF0ZVxuICogdGhlIG1vc3QgcmVhc29uYWJsZSBvZiBzY2VuYXJpb3MuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvc2t5dXgtbW9kYWxzL2Jsb2IvbWFzdGVyL3NyYy9hcHAvcHVibGljL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzI0wyMlxuICogKE5PVEU6IEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IG1vZGFscyBkbyBub3QgdXNlIHRoZSBvdmVybGF5IHNlcnZpY2UsIHdoaWNoIGlzIHNvbWV0aGluZyB3ZVxuICogc2hvdWxkIGRvIGluIHRoZSBuZWFyIGZ1dHVyZSB0byBtYWtlIHN1cmUgei1pbmRleGVzIGFyZSBwcmVkaWN0YWJsZSBhY3Jvc3MgYWxsIGNvbXBvbmVudFxuICogbGlicmFyaWVzLilcbiAqL1xubGV0IHVuaXF1ZVpJbmRleCA9IDUwMDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgd3JhcHBlckNsYXNzID0gJyc7XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcENsaWNrKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNiYWNrZHJvcENsaWNrT2JzO1xuICB9XG5cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVQb2ludGVyRXZlbnRzID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdpZCcpXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBzaG93QmFja2Ryb3AgPSBmYWxzZTtcblxuICBwdWJsaWMgekluZGV4ID0gYCR7Kyt1bmlxdWVaSW5kZXh9YDtcblxuICBwcm90ZWN0ZWQgY2xpcFBhdGgkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPigxKTtcblxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGVudFJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIG92ZXJsYXlDb250ZW50UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBvdmVybGF5UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHRhcmdldFJlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjYmFja2Ryb3BDbGljazogU3ViamVjdDx2b2lkPjtcblxuICAjYmFja2Ryb3BDbGlja09iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNjbG9zZWQ6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2Nsb3NlZE9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAjY29udGV4dDogU2t5T3ZlcmxheUNvbnRleHQ7XG5cbiAgI2NvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3JvdXRlcjogUm91dGVyIHwgdW5kZWZpbmVkO1xuXG4gICNyb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgY29udGV4dDogU2t5T3ZlcmxheUNvbnRleHQsXG4gICAgaWRTdmM6IFNreUlkU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSByb3V0ZXI/OiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI2NvcmVBZGFwdGVyID0gY29yZUFkYXB0ZXI7XG4gICAgdGhpcy4jY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy4jcm91dGVyID0gcm91dGVyO1xuXG4gICAgdGhpcy5pZCA9IGlkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrT2JzID0gdGhpcy4jYmFja2Ryb3BDbGljay5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNjbG9zZWRPYnMgPSB0aGlzLiNjbG9zZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jYXBwbHlDb25maWcodGhpcy4jY29udGV4dC5jb25maWcpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiNhZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLiNjb250ZXh0LmNvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbikge1xuICAgICAgdGhpcy4jYWRkUm91dGVMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW1vdmVSb3V0ZUxpc3RlbmVyKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGljay5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICB0aGlzLiNjbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2hDb21wb25lbnQ8Qz4oXG4gICAgY29tcG9uZW50OiBUeXBlPEM+LFxuICAgIHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtdXG4gICk6IENvbXBvbmVudFJlZjxDPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1tTa3lPdmVybGF5Q29tcG9uZW50XSBDb3VsZCBub3QgYXR0YWNoIHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgdGFyZ2V0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50YXJnZXRSZWYuY2xlYXIoKTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgIHpJbmRleDogbmV3IEJlaGF2aW9yU3ViamVjdChwYXJzZUludCh0aGlzLnpJbmRleCwgMTApKVxuICAgICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm92aWRlcnMsXG4gICAgICBdLFxuICAgICAgcGFyZW50OiB0aGlzLiNpbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUNvbXBvbmVudDxDPihjb21wb25lbnQsIHtcbiAgICAgIGluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgLy8gUnVuIGFuIGluaXRpYWwgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBiZWVuIGNyZWF0ZWQuXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoVGVtcGxhdGU8VD4oXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFQ+LFxuICAgIGNvbnRleHQ6IFRcbiAgKTogRW1iZWRkZWRWaWV3UmVmPFQ+IHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnW1NreU92ZXJsYXlDb21wb25lbnRdIENvdWxkIG5vdCBhdHRhY2ggdGhlIHRlbXBsYXRlIGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICByZXR1cm4gdGhpcy50YXJnZXRSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCBjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDbGlwUGF0aChjbGlwUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5jbGlwUGF0aCQubmV4dChjbGlwUGF0aCk7XG4gIH1cblxuICAjYXBwbHlDb25maWcoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy53cmFwcGVyQ2xhc3MgPSBjb25maWcud3JhcHBlckNsYXNzIHx8ICcnO1xuICAgIHRoaXMuc2hvd0JhY2tkcm9wID0gISFjb25maWcuc2hvd0JhY2tkcm9wO1xuICAgIHRoaXMuZW5hYmxlUG9pbnRlckV2ZW50cyA9ICEhY29uZmlnLmVuYWJsZVBvaW50ZXJFdmVudHM7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3cuZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIHRoaXMub3ZlcmxheUNvbnRlbnRSZWYgJiYgdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgY29uc3QgaXNDaGlsZCA9IHRoaXMub3ZlcmxheUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID0gdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNDaGlsZCAmJiAhaXNBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy4jYmFja2Ryb3BDbGljay5uZXh0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuZW5hYmxlQ2xvc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2FkZFJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3JvdXRlcikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy4jcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVSb3V0ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCJcbiAgW3N0eWxlLmNsaXAtcGF0aF09XCJjbGlwUGF0aCQgfCBhc3luY1wiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZW5hYmxlLXBvaW50ZXItZXZlbnRzLXBhc3MtdGhyb3VnaCc6IGVuYWJsZVBvaW50ZXJFdmVudHMsXG4gICAgJ3NreS1vdmVybGF5JzogdHJ1ZVxuICB9XCJcbiAgI292ZXJsYXlSZWZcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1vdmVybGF5LWNvbnRlbnRcIiAjb3ZlcmxheUNvbnRlbnRSZWY+XG4gICAgPG5nLXRlbXBsYXRlICN0YXJnZXQ+IDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tkcm9wXCIgY2xhc3M9XCJza3ktb3ZlcmxheS1iYWNrZHJvcFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBRVYsV0FBVyxFQUNYLFFBQVEsRUFHUixRQUFRLEVBSVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBQ2IsT0FBTyxFQUVQLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQU1sRixNQUFNLGdCQUFnQixHQUF1QixPQUFPLENBQUM7QUFFckQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRXhCOztHQUVHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixJQUFXLGFBQWE7UUFDdEIsT0FBTyx1QkFBQSxJQUFJLDZDQUFrQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLHVCQUFBLElBQUksc0NBQVcsQ0FBQztJQUN6QixDQUFDO0lBdURELFlBQ0UsY0FBaUMsRUFDakMsUUFBa0IsRUFDbEIsV0FBa0MsRUFDbEMsT0FBMEIsRUFD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Q0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxNQUFBLENBQUM7S0FDSjtBQUNILENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksK0NBQW9CLEVBQUU7UUFDNUIsdUJBQUEsSUFBSSwrQ0FBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2Qyx1QkFBQSxJQUFJLDJDQUF1QixTQUFTLE1BQUEsQ0FBQztLQUN0QztBQUNILENBQUM7Z0hBMU5VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlNQXlCdEIsVUFBVSxpSEFNVixVQUFVLDRHQU1WLGdCQUFnQiwyQ0NyRzFCLHNkQWVBOzJGRGlEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkF3RTVDLFFBQVE7NENBeERKLEVBQUU7c0JBRFIsV0FBVzt1QkFBQyxJQUFJO2dCQWVWLGlCQUFpQjtzQkFKdkIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRTt3QkFDOUIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLFVBQVU7c0JBSmhCLFNBQVM7dUJBQUMsWUFBWSxFQUFFO3dCQUN2QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sU0FBUztzQkFKZixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTdGF0aWNQcm92aWRlcixcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3ViamVjdCxcbiAgU3Vic2NyaXB0aW9uLFxuICBmcm9tRXZlbnQsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4uL2lkL2lkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0tZX1NUQUNLSU5HX0NPTlRFWFQgfSBmcm9tICcuLi9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQtdG9rZW4nO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcbmltcG9ydCB7IFNreU92ZXJsYXlQb3NpdGlvbiB9IGZyb20gJy4vb3ZlcmxheS1wb3NpdGlvbic7XG5cbmNvbnN0IFBPU0lUSU9OX0RFRkFVTFQ6IFNreU92ZXJsYXlQb3NpdGlvbiA9ICdmaXhlZCc7XG5cbi8qKlxuICogT21uaWJhciBpcyAxMDAwLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL2F1dGgtY2xpZW50L2Jsb2IvbWFzdGVyL3NyYy9vbW5pYmFyL29tbmliYXIudHMjTDEzOVxuICogLS0tXG4gKiBNb2RhbHMgc3RhcnQgdGhlaXIgei1pbmRleGVzIGF0IDEwNDAuIEhvd2V2ZXIsIGVhY2ggbW9kYWwncyB6LWluZGV4IGlzIGEgbXVsdGlwbGUgb2YgMTAsIHNvIGl0XG4gKiB3aWxsIGJlIGRpZmZpY3VsdCB0byByZWxpYWJseSBwcmVkaWN0IGEgei1pbmRleCB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBhYm92ZSBhbGwgb3RoZXJcbiAqIGxheWVycy4gU3RhcnRpbmcgdGhlIHotaW5kZXggZm9yIG92ZXJsYXlzIGF0IGEgbnVtYmVyIG11Y2ggZ3JlYXRlciB0aGFuIG1vZGFscyB3aWxsIGFjY29tbW9kYXRlXG4gKiB0aGUgbW9zdCByZWFzb25hYmxlIG9mIHNjZW5hcmlvcy5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9za3l1eC1tb2RhbHMvYmxvYi9tYXN0ZXIvc3JjL2FwcC9wdWJsaWMvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LnNlcnZpY2UudHMjTDIyXG4gKiAoTk9URTogSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgbW9kYWxzIGRvIG5vdCB1c2UgdGhlIG92ZXJsYXkgc2VydmljZSwgd2hpY2ggaXMgc29tZXRoaW5nIHdlXG4gKiBzaG91bGQgZG8gaW4gdGhlIG5lYXIgZnV0dXJlIHRvIG1ha2Ugc3VyZSB6LWluZGV4ZXMgYXJlIHByZWRpY3RhYmxlIGFjcm9zcyBhbGwgY29tcG9uZW50XG4gKiBsaWJyYXJpZXMuKVxuICovXG5sZXQgdW5pcXVlWkluZGV4ID0gNTAwMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3MgPSAnJztcblxuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xvc2VkT2JzO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVBvaW50ZXJFdmVudHMgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dCYWNrZHJvcCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB6SW5kZXggPSBgJHsrK3VuaXF1ZVpJbmRleH1gO1xuXG4gIHByb3RlY3RlZCBjbGlwUGF0aCQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KDEpO1xuXG4gIHByb3RlY3RlZCBwb3NpdGlvbiA9IFBPU0lUSU9OX0RFRkFVTFQ7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRlbnRSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBvdmVybGF5Q29udGVudFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdvdmVybGF5UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgb3ZlcmxheVJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0YXJnZXRSZWY6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2JhY2tkcm9wQ2xpY2s6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JhY2tkcm9wQ2xpY2tPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY2xvc2VkOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNjbG9zZWRPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0O1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNyb3V0ZXI6IFJvdXRlciB8IHVuZGVmaW5lZDtcblxuICAjcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0LFxuICAgIGlkU3ZjOiBTa3lJZFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyPzogUm91dGVyXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI2NvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcblxuICAgIHRoaXMuaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNjbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGlja09icyA9IHRoaXMuI2JhY2tkcm9wQ2xpY2suYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jY2xvc2VkT2JzID0gdGhpcy4jY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FwcGx5Q29uZmlnKHRoaXMuI2NvbnRleHQuY29uZmlnKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuY2xvc2VPbk5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMuI2FkZFJvdXRlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlUm91dGVMaXN0ZW5lcigpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXVxuICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdbU2t5T3ZlcmxheUNvbXBvbmVudF0gQ291bGQgbm90IGF0dGFjaCB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNLWV9TVEFDS0lOR19DT05URVhULFxuICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICB6SW5kZXg6IG5ldyBCZWhhdmlvclN1YmplY3QocGFyc2VJbnQodGhpcy56SW5kZXgsIDEwKSlcbiAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy4jaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRhcmdldFJlZi5jcmVhdGVDb21wb25lbnQ8Qz4oY29tcG9uZW50LCB7XG4gICAgICBpbmplY3RvcixcbiAgICB9KTtcblxuICAgIC8vIFJ1biBhbiBpbml0aWFsIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlPFQ+KFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb250ZXh0OiBUXG4gICk6IEVtYmVkZGVkVmlld1JlZjxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1tTa3lPdmVybGF5Q29tcG9uZW50XSBDb3VsZCBub3QgYXR0YWNoIHRoZSB0ZW1wbGF0ZSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2xpcFBhdGgoY2xpcFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuY2xpcFBhdGgkLm5leHQoY2xpcFBhdGgpO1xuICB9XG5cbiAgI2FwcGx5Q29uZmlnKGNvbmZpZzogU2t5T3ZlcmxheUNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMud3JhcHBlckNsYXNzID0gY29uZmlnLndyYXBwZXJDbGFzcyB8fCAnJztcbiAgICB0aGlzLnNob3dCYWNrZHJvcCA9ICEhY29uZmlnLnNob3dCYWNrZHJvcDtcbiAgICB0aGlzLmVuYWJsZVBvaW50ZXJFdmVudHMgPSAhIWNvbmZpZy5lbmFibGVQb2ludGVyRXZlbnRzO1xuICAgIHRoaXMucG9zaXRpb24gPSBjb25maWcucG9zaXRpb24gfHwgUE9TSVRJT05fREVGQVVMVDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNhZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdy5kb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgJiYgdGhpcy5vdmVybGF5Q29udGVudFJlZiAmJiB0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICBjb25zdCBpc0NoaWxkID0gdGhpcy5vdmVybGF5Q29udGVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPSB0aGlzLiNjb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0NoaWxkICYmICFpc0Fib3ZlKSB7XG4gICAgICAgICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLiNjb250ZXh0LmNvbmZpZy5lbmFibGVDbG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjYWRkUm91dGVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcm91dGVyKSB7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLiNyb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZVJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCInc2t5LW92ZXJsYXktcG9zaXRpb24tJyArIHBvc2l0aW9uICsgJyAnICsgd3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCJcbiAgW3N0eWxlLmNsaXAtcGF0aF09XCJjbGlwUGF0aCQgfCBhc3luY1wiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZW5hYmxlLXBvaW50ZXItZXZlbnRzLXBhc3MtdGhyb3VnaCc6IGVuYWJsZVBvaW50ZXJFdmVudHMsXG4gICAgJ3NreS1vdmVybGF5JzogdHJ1ZVxuICB9XCJcbiAgI292ZXJsYXlSZWZcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1vdmVybGF5LWNvbnRlbnRcIiAjb3ZlcmxheUNvbnRlbnRSZWY+XG4gICAgPG5nLXRlbXBsYXRlICN0YXJnZXQ+IDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tkcm9wXCIgY2xhc3M9XCJza3ktb3ZlcmxheS1iYWNrZHJvcFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -4,10 +4,10 @@ import { SkyOverlayComponent } from './overlay.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SkyOverlayModule {
6
6
  }
7
- SkyOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] });
9
- SkyOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayModule, decorators: [{
7
+ SkyOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] });
9
+ SkyOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -114,9 +114,9 @@ _SkyOverlayService_adapter = new WeakMap(), _SkyOverlayService_applicationRef =
114
114
  }
115
115
  };
116
116
  SkyOverlayService.overlays = [];
117
- SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
118
- SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayService, decorators: [{
117
+ SkyOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.SkyOverlayAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
118
+ SkyOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayService, providedIn: 'root' });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyOverlayService, decorators: [{
120
120
  type: Injectable,
121
121
  args: [{
122
122
  providedIn: 'root',
@@ -5,10 +5,10 @@ import { SkyPercentPipe } from './percent.pipe';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyPercentPipeModule {
7
7
  }
8
- SkyPercentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyPercentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule], exports: [SkyPercentPipe] });
10
- SkyPercentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipeModule, providers: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
8
+ SkyPercentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ SkyPercentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipeModule, declarations: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule], exports: [SkyPercentPipe] });
10
+ SkyPercentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipeModule, providers: [SkyPercentPipe], imports: [CommonModule, SkyCoreResourcesModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipeModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyPercentPipe],
@@ -8,6 +8,9 @@ import { SkyNumberFormatUtility } from '../shared/number-format/number-format-ut
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@skyux/i18n";
10
10
  export class SkyPercentPipe {
11
+ get defaultLocale() {
12
+ return __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
13
+ }
11
14
  constructor(localeProvider) {
12
15
  _SkyPercentPipe_instances.add(this);
13
16
  _SkyPercentPipe_defaultFormat.set(this, '1.0-2');
@@ -25,9 +28,6 @@ export class SkyPercentPipe {
25
28
  __classPrivateFieldGet(this, _SkyPercentPipe_instances, "m", _SkyPercentPipe_updateFormattedValue).call(this);
26
29
  });
27
30
  }
28
- get defaultLocale() {
29
- return __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
30
- }
31
31
  ngOnDestroy() {
32
32
  __classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").next();
33
33
  __classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").complete();
@@ -47,13 +47,13 @@ _SkyPercentPipe_defaultFormat = new WeakMap(), _SkyPercentPipe_defaultLocale = n
47
47
  ? SkyNumberFormatUtility.formatNumber(locale, __classPrivateFieldGet(this, _SkyPercentPipe_value, "f"), SkyIntlNumberFormatStyle.Percent, format)
48
48
  : '', "f");
49
49
  };
50
- SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
51
- SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyPercentPipe, decorators: [{
50
+ SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
51
+ SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPercentPipe, decorators: [{
53
53
  type: Pipe,
54
54
  args: [{
55
55
  name: 'skyPercent',
56
56
  pure: false,
57
57
  }]
58
58
  }], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFNdkYsTUFBTSxPQUFPLGNBQWM7SUFtQnpCLFlBQVksY0FBb0M7O1FBZGhELHdDQUFpQixPQUFPLEVBQUM7UUFFekIsd0NBQWlCLE9BQU8sRUFBQztRQUV6Qix5Q0FBNEI7UUFFNUIseUNBQWtCLEVBQUUsRUFBQztRQUVyQix5Q0FBNEI7UUFFNUIsd0NBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFFckMsd0NBQTJCO1FBR3pCLGNBQWM7YUFDWCxhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUkscUNBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hCLHVCQUFBLElBQUksaUNBQWtCLFVBQVUsQ0FBQyxNQUFNLE1BQUEsQ0FBQztZQUN4Qyx1QkFBQSxJQUFJLHVFQUFzQixNQUExQixJQUFJLENBQXdCLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBMUJELElBQVcsYUFBYTtRQUN0QixPQUFPLHVCQUFBLElBQUkscUNBQWUsQ0FBQztJQUM3QixDQUFDO0lBMEJNLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLHVCQUFBLElBQUkscUNBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUM5RCx1QkFBQSxJQUFJLHlCQUFVLEtBQUssTUFBQSxDQUFDO1FBQ3BCLHVCQUFBLElBQUksMEJBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSwwQkFBVyxNQUFNLE1BQUEsQ0FBQztRQUV0Qix1QkFBQSxJQUFJLHVFQUFzQixNQUExQixJQUFJLENBQXdCLENBQUM7UUFFN0IsT0FBTyx1QkFBQSxJQUFJLHNDQUFnQixDQUFDO0lBQzlCLENBQUM7OztJQUdDLE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUksOEJBQVEsSUFBSSx1QkFBQSxJQUFJLHFDQUFlLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSw4QkFBUSxJQUFJLHVCQUFBLElBQUkscUNBQWUsQ0FBQztJQUVuRCx1QkFBQSxJQUFJLGtDQUFtQix1QkFBQSxJQUFJLDZCQUFPO1FBQ2hDLENBQUMsQ0FBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQ2xDLE1BQU0sRUFDTix1QkFBQSxJQUFJLDZCQUFPLEVBQ1gsd0JBQXdCLENBQUMsT0FBTyxFQUNoQyxNQUFNLENBQ0k7UUFDZCxDQUFDLENBQUMsRUFBRSxNQUFBLENBQUM7QUFDVCxDQUFDOzJHQXhEVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyLCBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TnVtYmVyRm9ybWF0VXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreVBlcmNlbnQnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGVyY2VudFBpcGUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgZ2V0IGRlZmF1bHRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdExvY2FsZTtcbiAgfVxuXG4gICNkZWZhdWx0Rm9ybWF0ID0gJzEuMC0yJztcblxuICAjZGVmYXVsdExvY2FsZSA9ICdlbi1VUyc7XG5cbiAgI2Zvcm1hdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNmb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuXG4gICNsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IobG9jYWxlUHJvdmlkZXI6IFNreUFwcExvY2FsZVByb3ZpZGVyKSB7XG4gICAgbG9jYWxlUHJvdmlkZXJcbiAgICAgIC5nZXRMb2NhbGVJbmZvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZUluZm8pID0+IHtcbiAgICAgICAgdGhpcy4jZGVmYXVsdExvY2FsZSA9IGxvY2FsZUluZm8ubG9jYWxlO1xuICAgICAgICB0aGlzLiN1cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy4jdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNmb3JtYXQgPSBmb3JtYXQ7XG4gICAgdGhpcy4jbG9jYWxlID0gbG9jYWxlO1xuXG4gICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVmFsdWUoKTtcblxuICAgIHJldHVybiB0aGlzLiNmb3JtYXR0ZWRWYWx1ZTtcbiAgfVxuXG4gICN1cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLiNsb2NhbGUgfHwgdGhpcy4jZGVmYXVsdExvY2FsZTtcbiAgICBjb25zdCBmb3JtYXQgPSB0aGlzLiNmb3JtYXQgfHwgdGhpcy4jZGVmYXVsdEZvcm1hdDtcblxuICAgIHRoaXMuI2Zvcm1hdHRlZFZhbHVlID0gdGhpcy4jdmFsdWVcbiAgICAgID8gKFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB0aGlzLiN2YWx1ZSxcbiAgICAgICAgICBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUuUGVyY2VudCxcbiAgICAgICAgICBmb3JtYXRcbiAgICAgICAgKSBhcyBzdHJpbmcpXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFNdkYsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBQzdCLENBQUM7SUFnQkQsWUFBWSxjQUFvQzs7UUFkaEQsd0NBQWlCLE9BQU8sRUFBQztRQUV6Qix3Q0FBaUIsT0FBTyxFQUFDO1FBRXpCLHlDQUE0QjtRQUU1Qix5Q0FBa0IsRUFBRSxFQUFDO1FBRXJCLHlDQUE0QjtRQUU1Qix3Q0FBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyx3Q0FBMkI7UUFHekIsY0FBYzthQUNYLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsdUJBQUEsSUFBSSxpQ0FBa0IsVUFBVSxDQUFDLE1BQU0sTUFBQSxDQUFDO1lBQ3hDLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUkscUNBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQix1QkFBQSxJQUFJLHFDQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBZSxFQUFFLE1BQWU7UUFDOUQsdUJBQUEsSUFBSSx5QkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBQ3RCLHVCQUFBLElBQUksMEJBQVcsTUFBTSxNQUFBLENBQUM7UUFFdEIsdUJBQUEsSUFBSSx1RUFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDO1FBRTdCLE9BQU8sdUJBQUEsSUFBSSxzQ0FBZ0IsQ0FBQztJQUM5QixDQUFDOzs7SUFHQyxNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDhCQUFRLElBQUksdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUksOEJBQVEsSUFBSSx1QkFBQSxJQUFJLHFDQUFlLENBQUM7SUFFbkQsdUJBQUEsSUFBSSxrQ0FBbUIsdUJBQUEsSUFBSSw2QkFBTztRQUNoQyxDQUFDLENBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUNsQyxNQUFNLEVBQ04sdUJBQUEsSUFBSSw2QkFBTyxFQUNYLHdCQUF3QixDQUFDLE9BQU8sRUFDaEMsTUFBTSxDQUNJO1FBQ2QsQ0FBQyxDQUFDLEVBQUUsTUFBQSxDQUFDO0FBQ1QsQ0FBQzsyR0F4RFUsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBMb2NhbGVQcm92aWRlciwgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU51bWJlckZvcm1hdFV0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvbnVtYmVyLWZvcm1hdC9udW1iZXItZm9ybWF0LXV0aWxpdHknO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lQZXJjZW50JyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNreVBlcmNlbnRQaXBlIGltcGxlbWVudHMgT25EZXN0cm95LCBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIGdldCBkZWZhdWx0TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2RlZmF1bHRMb2NhbGU7XG4gIH1cblxuICAjZGVmYXVsdEZvcm1hdCA9ICcxLjAtMic7XG5cbiAgI2RlZmF1bHRMb2NhbGUgPSAnZW4tVVMnO1xuXG4gICNmb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjZm9ybWF0dGVkVmFsdWUgPSAnJztcblxuICAjbG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICN2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcikge1xuICAgIGxvY2FsZVByb3ZpZGVyXG4gICAgICAuZ2V0TG9jYWxlSW5mbygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGVJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuI2RlZmF1bHRMb2NhbGUgPSBsb2NhbGVJbmZvLmxvY2FsZTtcbiAgICAgICAgdGhpcy4jdXBkYXRlRm9ybWF0dGVkVmFsdWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy4jZm9ybWF0ID0gZm9ybWF0O1xuICAgIHRoaXMuI2xvY2FsZSA9IGxvY2FsZTtcblxuICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk7XG5cbiAgICByZXR1cm4gdGhpcy4jZm9ybWF0dGVkVmFsdWU7XG4gIH1cblxuICAjdXBkYXRlRm9ybWF0dGVkVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy4jbG9jYWxlIHx8IHRoaXMuI2RlZmF1bHRMb2NhbGU7XG4gICAgY29uc3QgZm9ybWF0ID0gdGhpcy4jZm9ybWF0IHx8IHRoaXMuI2RlZmF1bHRGb3JtYXQ7XG5cbiAgICB0aGlzLiNmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuI3ZhbHVlXG4gICAgICA/IChTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWUsXG4gICAgICAgICAgU2t5SW50bE51bWJlckZvcm1hdFN0eWxlLlBlcmNlbnQsXG4gICAgICAgICAgZm9ybWF0XG4gICAgICAgICkgYXMgc3RyaW5nKVxuICAgICAgOiAnJztcbiAgfVxufVxuIl19