ngwr 0.6.0 → 1.1.0

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 (204) hide show
  1. package/README.md +1 -1
  2. package/_index.scss +21 -21
  3. package/button/button.d.ts +1 -1
  4. package/button/button.scss +2 -2
  5. package/checkbox/checkbox.d.ts +1 -1
  6. package/core/color/color.d.ts +1 -1
  7. package/core/overlay/connected-overlay-directive.d.ts +1 -1
  8. package/core/overlay/position-type.d.ts +1 -1
  9. package/core/types/on-change-type.d.ts +1 -1
  10. package/core/types/on-touched-type.d.ts +1 -1
  11. package/core/types/safe-any.d.ts +1 -1
  12. package/dialog/dialog-content-directives.d.ts +1 -1
  13. package/divider/divider.d.ts +1 -1
  14. package/divider/divider.scss +2 -2
  15. package/{esm2020 → esm2022}/button/button-module.mjs +5 -5
  16. package/esm2022/button/button.mjs +187 -0
  17. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  18. package/esm2022/checkbox/checkbox.mjs +154 -0
  19. package/{esm2020 → esm2022}/core/abstract/base.mjs +4 -4
  20. package/esm2022/core/overlay/connected-overlay-directive.mjs +98 -0
  21. package/{esm2020 → esm2022}/core/overlay/overlay-module.mjs +5 -5
  22. package/{esm2020 → esm2022}/dialog/dialog-base.mjs +4 -4
  23. package/esm2022/dialog/dialog-container.mjs +58 -0
  24. package/esm2022/dialog/dialog-content-directives.mjs +98 -0
  25. package/{esm2020 → esm2022}/dialog/dialog-module.mjs +5 -5
  26. package/{esm2020 → esm2022}/dialog/dialog-service.mjs +11 -11
  27. package/{esm2020 → esm2022}/divider/divider-module.mjs +5 -5
  28. package/esm2022/divider/divider.mjs +100 -0
  29. package/{esm2020 → esm2022}/form/form-error.mjs +4 -4
  30. package/esm2022/form/form-item.mjs +46 -0
  31. package/{esm2020 → esm2022}/form/form-module.mjs +5 -5
  32. package/{esm2020 → esm2022}/icon/icon-module.mjs +5 -5
  33. package/esm2022/icon/icon-service.mjs +21 -0
  34. package/esm2022/icon/icon.mjs +60 -0
  35. package/esm2022/icon/icons.mjs +464 -0
  36. package/{esm2020 → esm2022}/input/input-module.mjs +5 -5
  37. package/esm2022/input/input.mjs +240 -0
  38. package/{esm2020 → esm2022}/skeleton/skeleton-module.mjs +5 -5
  39. package/{esm2020 → esm2022}/skeleton/skeleton.mjs +4 -4
  40. package/{esm2020 → esm2022}/spinner/spinner-module.mjs +5 -5
  41. package/{esm2020 → esm2022}/spinner/spinner.mjs +4 -4
  42. package/{esm2020 → esm2022}/tag/tag-module.mjs +5 -5
  43. package/{esm2020 → esm2022}/tag/tag.mjs +4 -4
  44. package/esm2022/tooltip/tooltip-component.mjs +93 -0
  45. package/esm2022/tooltip/tooltip-directive.mjs +85 -0
  46. package/{esm2020 → esm2022}/tooltip/tooltip-module.mjs +5 -5
  47. package/{fesm2015 → fesm2022}/ngwr-button.mjs +29 -30
  48. package/{fesm2020 → fesm2022}/ngwr-button.mjs.map +1 -1
  49. package/{fesm2015 → fesm2022}/ngwr-checkbox.mjs +39 -40
  50. package/fesm2022/ngwr-checkbox.mjs.map +1 -0
  51. package/{fesm2015 → fesm2022}/ngwr-core-abstract.mjs +3 -4
  52. package/{fesm2020 → fesm2022}/ngwr-core-abstract.mjs.map +1 -1
  53. package/{fesm2020 → fesm2022}/ngwr-core-color.mjs +0 -1
  54. package/{fesm2020 → fesm2022}/ngwr-core-decorators.mjs +0 -1
  55. package/{fesm2015 → fesm2022}/ngwr-core-overlay.mjs +13 -14
  56. package/{fesm2015 → fesm2022}/ngwr-core-overlay.mjs.map +1 -1
  57. package/{fesm2015 → fesm2022}/ngwr-core-types.mjs +0 -1
  58. package/{fesm2020 → fesm2022}/ngwr-dialog.mjs +44 -45
  59. package/{fesm2020 → fesm2022}/ngwr-dialog.mjs.map +1 -1
  60. package/{fesm2015 → fesm2022}/ngwr-divider.mjs +15 -16
  61. package/{fesm2015 → fesm2022}/ngwr-divider.mjs.map +1 -1
  62. package/{fesm2020 → fesm2022}/ngwr-form.mjs +14 -15
  63. package/fesm2022/ngwr-form.mjs.map +1 -0
  64. package/{fesm2020 → fesm2022}/ngwr-icon.mjs +81 -81
  65. package/fesm2022/ngwr-icon.mjs.map +1 -0
  66. package/{fesm2020 → fesm2022}/ngwr-input.mjs +41 -42
  67. package/fesm2022/ngwr-input.mjs.map +1 -0
  68. package/{fesm2015 → fesm2022}/ngwr-skeleton.mjs +7 -8
  69. package/{fesm2020 → fesm2022}/ngwr-skeleton.mjs.map +1 -1
  70. package/fesm2022/ngwr-spinner.mjs +43 -0
  71. package/fesm2022/ngwr-spinner.mjs.map +1 -0
  72. package/{fesm2015 → fesm2022}/ngwr-tag.mjs +7 -8
  73. package/{fesm2020 → fesm2022}/ngwr-tag.mjs.map +1 -1
  74. package/{fesm2020 → fesm2022}/ngwr-tooltip.mjs +26 -27
  75. package/{fesm2015 → fesm2022}/ngwr-tooltip.mjs.map +1 -1
  76. package/{fesm2020 → fesm2022}/ngwr.mjs +0 -1
  77. package/form/form-item.d.ts +1 -1
  78. package/icon/icon.d.ts +1 -1
  79. package/icon/icons.d.ts +2 -2
  80. package/input/input-types.d.ts +3 -3
  81. package/input/input.d.ts +1 -1
  82. package/package.json +76 -114
  83. package/skeleton/skeleton.d.ts +1 -1
  84. package/skeleton/skeleton.scss +2 -2
  85. package/styles/functions.scss +11 -0
  86. package/styles/grid.scss +51 -36
  87. package/styles/maps.scss +31 -0
  88. package/styles/mixins.scss +23 -0
  89. package/styles/root.scss +3 -3
  90. package/tag/tag.d.ts +1 -1
  91. package/tag/tag.scss +2 -2
  92. package/tooltip/tooltip-component.d.ts +1 -1
  93. package/tooltip/tooltip-directive.d.ts +1 -1
  94. package/tooltip/tooltip-trigger.d.ts +1 -1
  95. package/esm2020/button/button.mjs +0 -187
  96. package/esm2020/checkbox/checkbox.mjs +0 -154
  97. package/esm2020/core/overlay/connected-overlay-directive.mjs +0 -98
  98. package/esm2020/dialog/dialog-container.mjs +0 -58
  99. package/esm2020/dialog/dialog-content-directives.mjs +0 -98
  100. package/esm2020/divider/divider.mjs +0 -100
  101. package/esm2020/form/form-item.mjs +0 -46
  102. package/esm2020/icon/icon-service.mjs +0 -21
  103. package/esm2020/icon/icon.mjs +0 -60
  104. package/esm2020/icon/icons.mjs +0 -464
  105. package/esm2020/input/input.mjs +0 -240
  106. package/esm2020/tooltip/tooltip-component.mjs +0 -93
  107. package/esm2020/tooltip/tooltip-directive.mjs +0 -85
  108. package/fesm2015/ngwr-button.mjs.map +0 -1
  109. package/fesm2015/ngwr-checkbox.mjs.map +0 -1
  110. package/fesm2015/ngwr-core-abstract.mjs.map +0 -1
  111. package/fesm2015/ngwr-core-color.mjs +0 -26
  112. package/fesm2015/ngwr-core-decorators.mjs +0 -23
  113. package/fesm2015/ngwr-dialog.mjs +0 -454
  114. package/fesm2015/ngwr-dialog.mjs.map +0 -1
  115. package/fesm2015/ngwr-form.mjs +0 -90
  116. package/fesm2015/ngwr-form.mjs.map +0 -1
  117. package/fesm2015/ngwr-icon.mjs +0 -567
  118. package/fesm2015/ngwr-icon.mjs.map +0 -1
  119. package/fesm2015/ngwr-input.mjs +0 -263
  120. package/fesm2015/ngwr-input.mjs.map +0 -1
  121. package/fesm2015/ngwr-skeleton.mjs.map +0 -1
  122. package/fesm2015/ngwr-spinner.mjs +0 -44
  123. package/fesm2015/ngwr-spinner.mjs.map +0 -1
  124. package/fesm2015/ngwr-tag.mjs.map +0 -1
  125. package/fesm2015/ngwr-tooltip.mjs +0 -208
  126. package/fesm2015/ngwr.mjs +0 -8
  127. package/fesm2020/ngwr-button.mjs +0 -212
  128. package/fesm2020/ngwr-checkbox.mjs +0 -178
  129. package/fesm2020/ngwr-checkbox.mjs.map +0 -1
  130. package/fesm2020/ngwr-core-abstract.mjs +0 -26
  131. package/fesm2020/ngwr-core-color.mjs.map +0 -1
  132. package/fesm2020/ngwr-core-decorators.mjs.map +0 -1
  133. package/fesm2020/ngwr-core-overlay.mjs +0 -147
  134. package/fesm2020/ngwr-core-overlay.mjs.map +0 -1
  135. package/fesm2020/ngwr-core-types.mjs +0 -5
  136. package/fesm2020/ngwr-core-types.mjs.map +0 -1
  137. package/fesm2020/ngwr-divider.mjs +0 -121
  138. package/fesm2020/ngwr-divider.mjs.map +0 -1
  139. package/fesm2020/ngwr-form.mjs.map +0 -1
  140. package/fesm2020/ngwr-icon.mjs.map +0 -1
  141. package/fesm2020/ngwr-input.mjs.map +0 -1
  142. package/fesm2020/ngwr-skeleton.mjs +0 -67
  143. package/fesm2020/ngwr-spinner.mjs +0 -44
  144. package/fesm2020/ngwr-spinner.mjs.map +0 -1
  145. package/fesm2020/ngwr-tag.mjs +0 -105
  146. package/fesm2020/ngwr-tooltip.mjs.map +0 -1
  147. package/fesm2020/ngwr.mjs.map +0 -1
  148. package/styles/vars.scss +0 -2
  149. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  150. /package/{esm2020 → esm2022}/button/ngwr-button.mjs +0 -0
  151. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  152. /package/{esm2020 → esm2022}/checkbox/ngwr-checkbox.mjs +0 -0
  153. /package/{esm2020 → esm2022}/core/abstract/index.mjs +0 -0
  154. /package/{esm2020 → esm2022}/core/abstract/ngwr-core-abstract.mjs +0 -0
  155. /package/{esm2020 → esm2022}/core/color/color.mjs +0 -0
  156. /package/{esm2020 → esm2022}/core/color/index.mjs +0 -0
  157. /package/{esm2020 → esm2022}/core/color/is-theme-color.mjs +0 -0
  158. /package/{esm2020 → esm2022}/core/color/ngwr-core-color.mjs +0 -0
  159. /package/{esm2020 → esm2022}/core/decorators/index.mjs +0 -0
  160. /package/{esm2020 → esm2022}/core/decorators/input-boolean.mjs +0 -0
  161. /package/{esm2020 → esm2022}/core/decorators/ngwr-core-decorators.mjs +0 -0
  162. /package/{esm2020 → esm2022}/core/overlay/get-placement-name.mjs +0 -0
  163. /package/{esm2020 → esm2022}/core/overlay/index.mjs +0 -0
  164. /package/{esm2020 → esm2022}/core/overlay/ngwr-core-overlay.mjs +0 -0
  165. /package/{esm2020 → esm2022}/core/overlay/position-map.mjs +0 -0
  166. /package/{esm2020 → esm2022}/core/overlay/position-type.mjs +0 -0
  167. /package/{esm2020 → esm2022}/core/types/index.mjs +0 -0
  168. /package/{esm2020 → esm2022}/core/types/ng-style-interface.mjs +0 -0
  169. /package/{esm2020 → esm2022}/core/types/ngwr-core-types.mjs +0 -0
  170. /package/{esm2020 → esm2022}/core/types/on-change-type.mjs +0 -0
  171. /package/{esm2020 → esm2022}/core/types/on-touched-type.mjs +0 -0
  172. /package/{esm2020 → esm2022}/core/types/property-mapping.mjs +0 -0
  173. /package/{esm2020 → esm2022}/core/types/safe-any.mjs +0 -0
  174. /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
  175. /package/{esm2020 → esm2022}/dialog/dialog-config.mjs +0 -0
  176. /package/{esm2020 → esm2022}/dialog/dialog-ref.mjs +0 -0
  177. /package/{esm2020 → esm2022}/dialog/dialog-tokens.mjs +0 -0
  178. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  179. /package/{esm2020 → esm2022}/dialog/ngwr-dialog.mjs +0 -0
  180. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  181. /package/{esm2020 → esm2022}/divider/ngwr-divider.mjs +0 -0
  182. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  183. /package/{esm2020 → esm2022}/form/ngwr-form.mjs +0 -0
  184. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  185. /package/{esm2020 → esm2022}/icon/ngwr-icon.mjs +0 -0
  186. /package/{esm2020 → esm2022}/index.mjs +0 -0
  187. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  188. /package/{esm2020 → esm2022}/input/input-types.mjs +0 -0
  189. /package/{esm2020 → esm2022}/input/ngwr-input.mjs +0 -0
  190. /package/{esm2020 → esm2022}/ngwr.mjs +0 -0
  191. /package/{esm2020 → esm2022}/skeleton/index.mjs +0 -0
  192. /package/{esm2020 → esm2022}/skeleton/ngwr-skeleton.mjs +0 -0
  193. /package/{esm2020 → esm2022}/spinner/index.mjs +0 -0
  194. /package/{esm2020 → esm2022}/spinner/ngwr-spinner.mjs +0 -0
  195. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  196. /package/{esm2020 → esm2022}/tag/ngwr-tag.mjs +0 -0
  197. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  198. /package/{esm2020 → esm2022}/tooltip/ngwr-tooltip.mjs +0 -0
  199. /package/{esm2020 → esm2022}/tooltip/tooltip-default-positions.mjs +0 -0
  200. /package/{esm2020 → esm2022}/tooltip/tooltip-trigger.mjs +0 -0
  201. /package/{fesm2015 → fesm2022}/ngwr-core-color.mjs.map +0 -0
  202. /package/{fesm2015 → fesm2022}/ngwr-core-decorators.mjs.map +0 -0
  203. /package/{fesm2015 → fesm2022}/ngwr-core-types.mjs.map +0 -0
  204. /package/{fesm2015 → fesm2022}/ngwr.mjs.map +0 -0
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { wrIconSet } from './icons';
3
- import * as i0 from "@angular/core";
4
- export class WrIconService {
5
- get registry() {
6
- return WrIconService.registry;
7
- }
8
- static registerIcons() {
9
- wrIconSet.forEach((icon) => WrIconService.registry.set(icon.name, icon.data));
10
- }
11
- }
12
- WrIconService.registry = new Map();
13
- WrIconService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- WrIconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, providedIn: 'root' });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIconService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root',
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliL2ljb24vaWNvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFXLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGFBQWE7SUFHeEIsSUFBSSxRQUFRO1FBQ1YsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYTtRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O0FBUmEsc0JBQVEsR0FBa0MsSUFBSSxHQUFHLEVBQWtCLENBQUM7MEdBRHZFLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElXckljb24sIHdySWNvblNldCB9IGZyb20gJy4vaWNvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV3JJY29uU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0cnk6IFJlYWRvbmx5PE1hcDxzdHJpbmcsIHN0cmluZz4+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBnZXQgcmVnaXN0cnkoKTogUmVhZG9ubHk8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIHJldHVybiBXckljb25TZXJ2aWNlLnJlZ2lzdHJ5O1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVySWNvbnMoKTogdm9pZCB7XG4gICAgd3JJY29uU2V0LmZvckVhY2goKGljb246IElXckljb24pID0+IFdySWNvblNlcnZpY2UucmVnaXN0cnkuc2V0KGljb24ubmFtZSwgaWNvbi5kYXRhKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, HostBinding, Inject, Input, Optional } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./icon-service";
5
- export class WrIcon {
6
- constructor(elRef, iconService, doc) {
7
- this.elRef = elRef;
8
- this.iconService = iconService;
9
- this.doc = doc;
10
- }
11
- set name(value) {
12
- if (!this.iconService.registry.has(value)) {
13
- console.warn(`Icon ${value} was not found in NGWR icons`);
14
- return;
15
- }
16
- if (this.svg) {
17
- this.elRef.nativeElement.removeChild(this.svg);
18
- }
19
- const svgData = this.iconService.registry.get(value) || '';
20
- this.svg = this.svgElementFromString(svgData);
21
- this.elRef.nativeElement.appendChild(this.svg);
22
- }
23
- get svg() {
24
- return this._svg;
25
- }
26
- set svg(value) {
27
- this._svg = value;
28
- }
29
- /** Set element classes */
30
- get elClasses() {
31
- return {
32
- 'wr-icon': true,
33
- };
34
- }
35
- svgElementFromString(svgContent) {
36
- const div = this.doc.createElement('div');
37
- div.innerHTML = svgContent;
38
- return div.querySelector('svg') || this.doc.createElementNS('http://www.w3.org/2000/svg', 'path');
39
- }
40
- }
41
- WrIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIcon, deps: [{ token: i0.ElementRef }, { token: i1.WrIconService }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
42
- WrIcon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WrIcon, selector: "wr-icon[name]", inputs: { name: "name" }, host: { properties: { "class": "this.elClasses" } }, exportAs: ["wrIcon"], ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WrIcon, decorators: [{
44
- type: Directive,
45
- args: [{
46
- selector: 'wr-icon[name]',
47
- exportAs: 'wrIcon',
48
- }]
49
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.WrIconService }, { type: Document, decorators: [{
50
- type: Optional
51
- }, {
52
- type: Inject,
53
- args: [DOCUMENT]
54
- }] }]; }, propDecorators: { name: [{
55
- type: Input
56
- }], elClasses: [{
57
- type: HostBinding,
58
- args: ['class']
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi9pY29uL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXNUYsTUFBTSxPQUFPLE1BQU07SUFpQ2pCLFlBQ21CLEtBQThCLEVBQzlCLFdBQTBCLEVBQ0ksR0FBYTtRQUYzQyxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUNJLFFBQUcsR0FBSCxHQUFHLENBQVU7SUFDM0QsQ0FBQztJQXBDSixJQUNJLElBQUksQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLDhCQUE4QixDQUFDLENBQUM7WUFDMUQsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoRDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUE2QjtRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR0QsMEJBQTBCO0lBQzFCLElBQ0ksU0FBUztRQUNYLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQVFPLG9CQUFvQixDQUFDLFVBQWtCO1FBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzNCLE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRyxDQUFDOzttR0EzQ1UsTUFBTSx5RUFvQ0ssUUFBUTt1RkFwQ25CLE1BQU07MkZBQU4sTUFBTTtrQkFKbEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLFFBQVE7aUJBQ25COzswQkFxQ0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzRDQWxDMUIsSUFBSTtzQkFEUCxLQUFLO2dCQTBCRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3dyL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBXckljb25TZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXNlcnZpY2UnO1xuaW1wb3J0IHsgd3JJY29uTmFtZSB9IGZyb20gJy4vaWNvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd3ci1pY29uW25hbWVdJyxcbiAgZXhwb3J0QXM6ICd3ckljb24nLFxufSlcbmV4cG9ydCBjbGFzcyBXckljb24ge1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogd3JJY29uTmFtZSB8IHN0cmluZykge1xuICAgIGlmICghdGhpcy5pY29uU2VydmljZS5yZWdpc3RyeS5oYXModmFsdWUpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEljb24gJHt2YWx1ZX0gd2FzIG5vdCBmb3VuZCBpbiBOR1dSIGljb25zYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3ZnKSB7XG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5zdmcpO1xuICAgIH1cblxuICAgIGNvbnN0IHN2Z0RhdGEgPSB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdHJ5LmdldCh2YWx1ZSkgfHwgJyc7XG4gICAgdGhpcy5zdmcgPSB0aGlzLnN2Z0VsZW1lbnRGcm9tU3RyaW5nKHN2Z0RhdGEpO1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnN2Zyk7XG4gIH1cblxuICBnZXQgc3ZnKCk6IFNWR0VsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdmc7XG4gIH1cbiAgc2V0IHN2Zyh2YWx1ZTogU1ZHRWxlbWVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3N2ZyA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3N2ZzogU1ZHRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKiogU2V0IGVsZW1lbnQgY2xhc3NlcyAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGVsQ2xhc3NlcygpOiBTYWZlQW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3dyLWljb24nOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBXckljb25TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudFxuICApIHt9XG5cbiAgcHJpdmF0ZSBzdmdFbGVtZW50RnJvbVN0cmluZyhzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudDtcbiAgICByZXR1cm4gZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncGF0aCcpO1xuICB9XG59XG4iXX0=