@angular/material 14.0.0-next.1 → 14.0.0-next.12

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 (603) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-origin.d.ts +2 -2
  3. package/autocomplete/autocomplete-trigger.d.ts +16 -5
  4. package/autocomplete/autocomplete.d.ts +8 -2
  5. package/badge/_badge-theme.scss +11 -2
  6. package/badge/badge.d.ts +1 -1
  7. package/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  8. package/button/button.d.ts +2 -2
  9. package/button-toggle/_button-toggle-theme.scss +14 -2
  10. package/button-toggle/button-toggle.d.ts +2 -2
  11. package/card/card.d.ts +14 -14
  12. package/checkbox/_checkbox-theme.scss +1 -1
  13. package/checkbox/checkbox-required-validator.d.ts +1 -1
  14. package/checkbox/checkbox.d.ts +2 -2
  15. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  16. package/chips/chip-input.d.ts +3 -6
  17. package/chips/chip-list.d.ts +21 -6
  18. package/chips/chip.d.ts +7 -7
  19. package/core/_core.scss +5 -7
  20. package/core/common-behaviors/error-state.d.ts +1 -2
  21. package/core/datetime/index.d.ts +1 -2
  22. package/core/line/line.d.ts +1 -1
  23. package/core/option/optgroup.d.ts +2 -2
  24. package/core/option/option.d.ts +2 -2
  25. package/core/ripple/_ripple.scss +2 -2
  26. package/core/ripple/index.d.ts +1 -2
  27. package/core/ripple/ripple-ref.d.ts +2 -1
  28. package/core/ripple/ripple-renderer.d.ts +16 -3
  29. package/core/ripple/ripple.d.ts +1 -1
  30. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  31. package/core/style/_menu-common.scss +3 -2
  32. package/core/style/_vendor-prefixes.scss +1 -17
  33. package/core/theming/_theming.scss +10 -1
  34. package/core/typography/_typography.scss +51 -14
  35. package/datepicker/calendar-body.d.ts +34 -4
  36. package/datepicker/calendar.d.ts +2 -2
  37. package/datepicker/date-range-input-parts.d.ts +7 -4
  38. package/datepicker/date-range-input.d.ts +1 -1
  39. package/datepicker/date-range-picker.d.ts +1 -1
  40. package/datepicker/datepicker-actions.d.ts +3 -3
  41. package/datepicker/datepicker-base.d.ts +4 -2
  42. package/datepicker/datepicker-input-base.d.ts +1 -1
  43. package/datepicker/datepicker-input.d.ts +1 -1
  44. package/datepicker/datepicker-toggle.d.ts +2 -2
  45. package/datepicker/datepicker.d.ts +1 -1
  46. package/datepicker/month-view.d.ts +19 -1
  47. package/datepicker/multi-year-view.d.ts +19 -1
  48. package/datepicker/year-view.d.ts +19 -1
  49. package/dialog/dialog-animations.d.ts +10 -0
  50. package/dialog/dialog-config.d.ts +12 -1
  51. package/dialog/dialog-container.d.ts +14 -6
  52. package/dialog/dialog-content-directives.d.ts +8 -4
  53. package/dialog/dialog.d.ts +13 -7
  54. package/dialog/public-api.d.ts +1 -1
  55. package/dialog/testing/dialog-opener.d.ts +33 -0
  56. package/dialog/testing/public-api.d.ts +1 -0
  57. package/divider/divider.d.ts +1 -1
  58. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  59. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  60. package/esm2020/autocomplete/autocomplete-trigger.mjs +102 -50
  61. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  62. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  63. package/esm2020/badge/badge-module.mjs +5 -5
  64. package/esm2020/badge/badge.mjs +4 -4
  65. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  66. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  67. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  68. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  69. package/esm2020/button/button-module.mjs +5 -5
  70. package/esm2020/button/button.mjs +10 -10
  71. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  72. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  73. package/esm2020/card/card-module.mjs +5 -5
  74. package/esm2020/card/card.mjs +44 -44
  75. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  76. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  77. package/esm2020/checkbox/checkbox.mjs +12 -8
  78. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  79. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  80. package/esm2020/chips/chip-input.mjs +4 -4
  81. package/esm2020/chips/chip-list.mjs +34 -9
  82. package/esm2020/chips/chip.mjs +20 -17
  83. package/esm2020/chips/chips-module.mjs +5 -5
  84. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  85. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  86. package/esm2020/core/datetime/index.mjs +9 -11
  87. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  88. package/esm2020/core/error/error-options.mjs +7 -7
  89. package/esm2020/core/line/line.mjs +8 -8
  90. package/esm2020/core/option/index.mjs +5 -5
  91. package/esm2020/core/option/optgroup.mjs +8 -8
  92. package/esm2020/core/option/option.mjs +10 -10
  93. package/esm2020/core/ripple/index.mjs +6 -7
  94. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  95. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  96. package/esm2020/core/ripple/ripple.mjs +4 -4
  97. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  98. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  99. package/esm2020/core/version.mjs +1 -1
  100. package/esm2020/datepicker/calendar-body.mjs +57 -12
  101. package/esm2020/datepicker/calendar.mjs +27 -16
  102. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  103. package/esm2020/datepicker/date-range-input.mjs +6 -6
  104. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  105. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  106. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  107. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  108. package/esm2020/datepicker/datepicker-base.mjs +12 -20
  109. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  110. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  111. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  112. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  113. package/esm2020/datepicker/datepicker-toggle.mjs +10 -10
  114. package/esm2020/datepicker/datepicker.mjs +4 -4
  115. package/esm2020/datepicker/month-view.mjs +38 -11
  116. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  117. package/esm2020/datepicker/year-view.mjs +41 -10
  118. package/esm2020/dialog/dialog-animations.mjs +17 -4
  119. package/esm2020/dialog/dialog-config.mjs +8 -1
  120. package/esm2020/dialog/dialog-container.mjs +44 -26
  121. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  122. package/esm2020/dialog/dialog-module.mjs +5 -5
  123. package/esm2020/dialog/dialog.mjs +24 -40
  124. package/esm2020/dialog/public-api.mjs +2 -2
  125. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  126. package/esm2020/dialog/testing/public-api.mjs +2 -1
  127. package/esm2020/divider/divider-module.mjs +5 -5
  128. package/esm2020/divider/divider.mjs +5 -5
  129. package/esm2020/expansion/accordion.mjs +4 -4
  130. package/esm2020/expansion/expansion-module.mjs +5 -5
  131. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  132. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  133. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  134. package/esm2020/expansion/expansion-panel.mjs +13 -10
  135. package/esm2020/expansion/public-api.mjs +2 -1
  136. package/esm2020/form-field/error.mjs +4 -4
  137. package/esm2020/form-field/form-field-control.mjs +4 -4
  138. package/esm2020/form-field/form-field-module.mjs +5 -5
  139. package/esm2020/form-field/form-field.mjs +22 -14
  140. package/esm2020/form-field/hint.mjs +4 -4
  141. package/esm2020/form-field/label.mjs +4 -4
  142. package/esm2020/form-field/placeholder.mjs +4 -4
  143. package/esm2020/form-field/prefix.mjs +4 -4
  144. package/esm2020/form-field/suffix.mjs +4 -4
  145. package/esm2020/form-field/testing/public-api.mjs +4 -4
  146. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  147. package/esm2020/grid-list/grid-list.mjs +6 -6
  148. package/esm2020/grid-list/grid-tile.mjs +17 -17
  149. package/esm2020/icon/icon-module.mjs +5 -5
  150. package/esm2020/icon/icon-registry.mjs +12 -14
  151. package/esm2020/icon/icon.mjs +31 -28
  152. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  153. package/esm2020/input/input-module.mjs +5 -5
  154. package/esm2020/input/input.mjs +41 -24
  155. package/esm2020/list/list-module.mjs +5 -5
  156. package/esm2020/list/list.mjs +21 -23
  157. package/esm2020/list/selection-list.mjs +15 -38
  158. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  159. package/esm2020/menu/menu-content.mjs +7 -7
  160. package/esm2020/menu/menu-errors.mjs +1 -12
  161. package/esm2020/menu/menu-item.mjs +10 -6
  162. package/esm2020/menu/menu-module.mjs +5 -5
  163. package/esm2020/menu/menu-trigger.mjs +73 -66
  164. package/esm2020/menu/menu.mjs +35 -14
  165. package/esm2020/paginator/paginator-intl.mjs +4 -4
  166. package/esm2020/paginator/paginator-module.mjs +5 -5
  167. package/esm2020/paginator/paginator.mjs +17 -13
  168. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  169. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  170. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  171. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  172. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  173. package/esm2020/progress-spinner/public-api.mjs +10 -2
  174. package/esm2020/radio/radio-module.mjs +5 -5
  175. package/esm2020/radio/radio.mjs +42 -14
  176. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  177. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  178. package/esm2020/select/select-module.mjs +5 -5
  179. package/esm2020/select/select.mjs +68 -30
  180. package/esm2020/sidenav/drawer.mjs +19 -14
  181. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  182. package/esm2020/sidenav/sidenav.mjs +12 -12
  183. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  184. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  185. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  186. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  187. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  188. package/esm2020/slider/slider-module.mjs +5 -5
  189. package/esm2020/slider/slider.mjs +5 -5
  190. package/esm2020/snack-bar/simple-snack-bar.mjs +7 -7
  191. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  192. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  193. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  194. package/esm2020/sort/sort-header-intl.mjs +4 -4
  195. package/esm2020/sort/sort-header.mjs +16 -8
  196. package/esm2020/sort/sort-module.mjs +5 -5
  197. package/esm2020/sort/sort.mjs +4 -4
  198. package/esm2020/stepper/public-api.mjs +2 -2
  199. package/esm2020/stepper/step-content.mjs +4 -4
  200. package/esm2020/stepper/step-header.mjs +8 -8
  201. package/esm2020/stepper/step-label.mjs +4 -4
  202. package/esm2020/stepper/stepper-animations.mjs +9 -3
  203. package/esm2020/stepper/stepper-button.mjs +7 -7
  204. package/esm2020/stepper/stepper-icon.mjs +4 -4
  205. package/esm2020/stepper/stepper-intl.mjs +4 -4
  206. package/esm2020/stepper/stepper-module.mjs +6 -10
  207. package/esm2020/stepper/stepper.mjs +42 -66
  208. package/esm2020/table/cell.mjs +22 -22
  209. package/esm2020/table/row.mjs +22 -22
  210. package/esm2020/table/table-module.mjs +5 -5
  211. package/esm2020/table/table.mjs +9 -9
  212. package/esm2020/table/text-column.mjs +5 -5
  213. package/esm2020/tabs/ink-bar.mjs +11 -22
  214. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  215. package/esm2020/tabs/tab-body.mjs +11 -11
  216. package/esm2020/tabs/tab-content.mjs +4 -4
  217. package/esm2020/tabs/tab-group.mjs +59 -18
  218. package/esm2020/tabs/tab-header.mjs +8 -8
  219. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  220. package/esm2020/tabs/tab-label.mjs +4 -4
  221. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  222. package/esm2020/tabs/tab.mjs +4 -4
  223. package/esm2020/tabs/tabs-module.mjs +5 -5
  224. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  225. package/esm2020/toolbar/toolbar.mjs +8 -8
  226. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  227. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  228. package/esm2020/tooltip/tooltip.mjs +126 -51
  229. package/esm2020/tree/node.mjs +10 -10
  230. package/esm2020/tree/outlet.mjs +4 -4
  231. package/esm2020/tree/padding.mjs +4 -4
  232. package/esm2020/tree/toggle.mjs +4 -4
  233. package/esm2020/tree/tree-module.mjs +5 -5
  234. package/esm2020/tree/tree.mjs +5 -5
  235. package/expansion/accordion.d.ts +1 -1
  236. package/expansion/expansion-panel-base.d.ts +22 -0
  237. package/expansion/expansion-panel-content.d.ts +5 -3
  238. package/expansion/expansion-panel-header.d.ts +3 -3
  239. package/expansion/expansion-panel.d.ts +2 -2
  240. package/expansion/public-api.d.ts +1 -0
  241. package/fesm2015/autocomplete/testing.mjs +6 -0
  242. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  243. package/fesm2015/autocomplete.mjs +131 -68
  244. package/fesm2015/autocomplete.mjs.map +1 -1
  245. package/fesm2015/badge/testing.mjs.map +1 -1
  246. package/fesm2015/badge.mjs +7 -7
  247. package/fesm2015/badge.mjs.map +1 -1
  248. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  249. package/fesm2015/bottom-sheet.mjs +27 -16
  250. package/fesm2015/bottom-sheet.mjs.map +1 -1
  251. package/fesm2015/button/testing.mjs.map +1 -1
  252. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  253. package/fesm2015/button-toggle.mjs +11 -11
  254. package/fesm2015/button-toggle.mjs.map +1 -1
  255. package/fesm2015/button.mjs +13 -13
  256. package/fesm2015/button.mjs.map +1 -1
  257. package/fesm2015/card/testing.mjs.map +1 -1
  258. package/fesm2015/card.mjs +47 -47
  259. package/fesm2015/card.mjs.map +1 -1
  260. package/fesm2015/checkbox/testing.mjs +2 -1
  261. package/fesm2015/checkbox/testing.mjs.map +1 -1
  262. package/fesm2015/checkbox.mjs +22 -18
  263. package/fesm2015/checkbox.mjs.map +1 -1
  264. package/fesm2015/chips/testing.mjs.map +1 -1
  265. package/fesm2015/chips.mjs +59 -31
  266. package/fesm2015/chips.mjs.map +1 -1
  267. package/fesm2015/core/testing.mjs.map +1 -1
  268. package/fesm2015/core.mjs +181 -126
  269. package/fesm2015/core.mjs.map +1 -1
  270. package/fesm2015/datepicker/testing.mjs.map +1 -1
  271. package/fesm2015/datepicker.mjs +273 -130
  272. package/fesm2015/datepicker.mjs.map +1 -1
  273. package/fesm2015/dialog/testing.mjs +65 -2
  274. package/fesm2015/dialog/testing.mjs.map +1 -1
  275. package/fesm2015/dialog.mjs +144 -106
  276. package/fesm2015/dialog.mjs.map +1 -1
  277. package/fesm2015/divider/testing.mjs.map +1 -1
  278. package/fesm2015/divider.mjs +8 -8
  279. package/fesm2015/divider.mjs.map +1 -1
  280. package/fesm2015/expansion/testing.mjs.map +1 -1
  281. package/fesm2015/expansion.mjs +56 -33
  282. package/fesm2015/expansion.mjs.map +1 -1
  283. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  284. package/fesm2015/form-field/testing.mjs +1 -1
  285. package/fesm2015/form-field/testing.mjs.map +1 -1
  286. package/fesm2015/form-field.mjs +47 -38
  287. package/fesm2015/form-field.mjs.map +1 -1
  288. package/fesm2015/grid-list/testing.mjs.map +1 -1
  289. package/fesm2015/grid-list.mjs +25 -25
  290. package/fesm2015/grid-list.mjs.map +1 -1
  291. package/fesm2015/icon/testing.mjs +8 -8
  292. package/fesm2015/icon/testing.mjs.map +1 -1
  293. package/fesm2015/icon.mjs +45 -44
  294. package/fesm2015/icon.mjs.map +1 -1
  295. package/fesm2015/input/testing.mjs.map +1 -1
  296. package/fesm2015/input.mjs +45 -28
  297. package/fesm2015/input.mjs.map +1 -1
  298. package/fesm2015/list/testing.mjs +0 -10
  299. package/fesm2015/list/testing.mjs.map +1 -1
  300. package/fesm2015/list.mjs +41 -67
  301. package/fesm2015/list.mjs.map +1 -1
  302. package/fesm2015/material.mjs.map +1 -1
  303. package/fesm2015/menu/testing.mjs.map +1 -1
  304. package/fesm2015/menu.mjs +126 -101
  305. package/fesm2015/menu.mjs.map +1 -1
  306. package/fesm2015/paginator/testing.mjs +14 -0
  307. package/fesm2015/paginator/testing.mjs.map +1 -1
  308. package/fesm2015/paginator.mjs +23 -19
  309. package/fesm2015/paginator.mjs.map +1 -1
  310. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  311. package/fesm2015/progress-bar.mjs +11 -8
  312. package/fesm2015/progress-bar.mjs.map +1 -1
  313. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  314. package/fesm2015/progress-spinner.mjs +31 -63
  315. package/fesm2015/progress-spinner.mjs.map +1 -1
  316. package/fesm2015/radio/testing.mjs +2 -1
  317. package/fesm2015/radio/testing.mjs.map +1 -1
  318. package/fesm2015/radio.mjs +46 -17
  319. package/fesm2015/radio.mjs.map +1 -1
  320. package/fesm2015/select/testing.mjs.map +1 -1
  321. package/fesm2015/select.mjs +72 -34
  322. package/fesm2015/select.mjs.map +1 -1
  323. package/fesm2015/sidenav/testing.mjs.map +1 -1
  324. package/fesm2015/sidenav.mjs +36 -32
  325. package/fesm2015/sidenav.mjs.map +1 -1
  326. package/fesm2015/slide-toggle/testing.mjs +3 -1
  327. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  328. package/fesm2015/slide-toggle.mjs +16 -15
  329. package/fesm2015/slide-toggle.mjs.map +1 -1
  330. package/fesm2015/slider/testing.mjs.map +1 -1
  331. package/fesm2015/slider.mjs +8 -8
  332. package/fesm2015/slider.mjs.map +1 -1
  333. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  334. package/fesm2015/snack-bar.mjs +39 -33
  335. package/fesm2015/snack-bar.mjs.map +1 -1
  336. package/fesm2015/sort/testing.mjs.map +1 -1
  337. package/fesm2015/sort.mjs +128 -120
  338. package/fesm2015/sort.mjs.map +1 -1
  339. package/fesm2015/stepper/testing.mjs.map +1 -1
  340. package/fesm2015/stepper.mjs +75 -96
  341. package/fesm2015/stepper.mjs.map +1 -1
  342. package/fesm2015/table/testing.mjs.map +1 -1
  343. package/fesm2015/table.mjs +58 -58
  344. package/fesm2015/table.mjs.map +1 -1
  345. package/fesm2015/tabs/testing.mjs.map +1 -1
  346. package/fesm2015/tabs.mjs +139 -95
  347. package/fesm2015/tabs.mjs.map +1 -1
  348. package/fesm2015/toolbar/testing.mjs.map +1 -1
  349. package/fesm2015/toolbar.mjs +11 -11
  350. package/fesm2015/toolbar.mjs.map +1 -1
  351. package/fesm2015/tooltip/testing.mjs +11 -8
  352. package/fesm2015/tooltip/testing.mjs.map +1 -1
  353. package/fesm2015/tooltip.mjs +154 -79
  354. package/fesm2015/tooltip.mjs.map +1 -1
  355. package/fesm2015/tree/testing.mjs.map +1 -1
  356. package/fesm2015/tree.mjs +26 -26
  357. package/fesm2015/tree.mjs.map +1 -1
  358. package/fesm2020/autocomplete/testing.mjs +6 -0
  359. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  360. package/fesm2020/autocomplete.mjs +130 -68
  361. package/fesm2020/autocomplete.mjs.map +1 -1
  362. package/fesm2020/badge/testing.mjs.map +1 -1
  363. package/fesm2020/badge.mjs +7 -7
  364. package/fesm2020/badge.mjs.map +1 -1
  365. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  366. package/fesm2020/bottom-sheet.mjs +27 -16
  367. package/fesm2020/bottom-sheet.mjs.map +1 -1
  368. package/fesm2020/button/testing.mjs.map +1 -1
  369. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  370. package/fesm2020/button-toggle.mjs +11 -11
  371. package/fesm2020/button-toggle.mjs.map +1 -1
  372. package/fesm2020/button.mjs +13 -13
  373. package/fesm2020/button.mjs.map +1 -1
  374. package/fesm2020/card/testing.mjs.map +1 -1
  375. package/fesm2020/card.mjs +47 -47
  376. package/fesm2020/card.mjs.map +1 -1
  377. package/fesm2020/checkbox/testing.mjs +2 -1
  378. package/fesm2020/checkbox/testing.mjs.map +1 -1
  379. package/fesm2020/checkbox.mjs +22 -18
  380. package/fesm2020/checkbox.mjs.map +1 -1
  381. package/fesm2020/chips/testing.mjs.map +1 -1
  382. package/fesm2020/chips.mjs +59 -31
  383. package/fesm2020/chips.mjs.map +1 -1
  384. package/fesm2020/core/testing.mjs.map +1 -1
  385. package/fesm2020/core.mjs +180 -126
  386. package/fesm2020/core.mjs.map +1 -1
  387. package/fesm2020/datepicker/testing.mjs.map +1 -1
  388. package/fesm2020/datepicker.mjs +273 -130
  389. package/fesm2020/datepicker.mjs.map +1 -1
  390. package/fesm2020/dialog/testing.mjs +65 -1
  391. package/fesm2020/dialog/testing.mjs.map +1 -1
  392. package/fesm2020/dialog.mjs +143 -106
  393. package/fesm2020/dialog.mjs.map +1 -1
  394. package/fesm2020/divider/testing.mjs.map +1 -1
  395. package/fesm2020/divider.mjs +8 -8
  396. package/fesm2020/divider.mjs.map +1 -1
  397. package/fesm2020/expansion/testing.mjs.map +1 -1
  398. package/fesm2020/expansion.mjs +54 -33
  399. package/fesm2020/expansion.mjs.map +1 -1
  400. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  401. package/fesm2020/form-field/testing.mjs +1 -1
  402. package/fesm2020/form-field/testing.mjs.map +1 -1
  403. package/fesm2020/form-field.mjs +46 -38
  404. package/fesm2020/form-field.mjs.map +1 -1
  405. package/fesm2020/grid-list/testing.mjs.map +1 -1
  406. package/fesm2020/grid-list.mjs +25 -25
  407. package/fesm2020/grid-list.mjs.map +1 -1
  408. package/fesm2020/icon/testing.mjs +8 -8
  409. package/fesm2020/icon/testing.mjs.map +1 -1
  410. package/fesm2020/icon.mjs +45 -44
  411. package/fesm2020/icon.mjs.map +1 -1
  412. package/fesm2020/input/testing.mjs.map +1 -1
  413. package/fesm2020/input.mjs +44 -27
  414. package/fesm2020/input.mjs.map +1 -1
  415. package/fesm2020/list/testing.mjs +0 -8
  416. package/fesm2020/list/testing.mjs.map +1 -1
  417. package/fesm2020/list.mjs +38 -63
  418. package/fesm2020/list.mjs.map +1 -1
  419. package/fesm2020/material.mjs.map +1 -1
  420. package/fesm2020/menu/testing.mjs.map +1 -1
  421. package/fesm2020/menu.mjs +122 -101
  422. package/fesm2020/menu.mjs.map +1 -1
  423. package/fesm2020/paginator/testing.mjs +10 -0
  424. package/fesm2020/paginator/testing.mjs.map +1 -1
  425. package/fesm2020/paginator.mjs +23 -19
  426. package/fesm2020/paginator.mjs.map +1 -1
  427. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  428. package/fesm2020/progress-bar.mjs +11 -8
  429. package/fesm2020/progress-bar.mjs.map +1 -1
  430. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  431. package/fesm2020/progress-spinner.mjs +31 -61
  432. package/fesm2020/progress-spinner.mjs.map +1 -1
  433. package/fesm2020/radio/testing.mjs +2 -1
  434. package/fesm2020/radio/testing.mjs.map +1 -1
  435. package/fesm2020/radio.mjs +45 -17
  436. package/fesm2020/radio.mjs.map +1 -1
  437. package/fesm2020/select/testing.mjs.map +1 -1
  438. package/fesm2020/select.mjs +72 -34
  439. package/fesm2020/select.mjs.map +1 -1
  440. package/fesm2020/sidenav/testing.mjs.map +1 -1
  441. package/fesm2020/sidenav.mjs +36 -32
  442. package/fesm2020/sidenav.mjs.map +1 -1
  443. package/fesm2020/slide-toggle/testing.mjs +3 -1
  444. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  445. package/fesm2020/slide-toggle.mjs +16 -15
  446. package/fesm2020/slide-toggle.mjs.map +1 -1
  447. package/fesm2020/slider/testing.mjs.map +1 -1
  448. package/fesm2020/slider.mjs +8 -8
  449. package/fesm2020/slider.mjs.map +1 -1
  450. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  451. package/fesm2020/snack-bar.mjs +39 -33
  452. package/fesm2020/snack-bar.mjs.map +1 -1
  453. package/fesm2020/sort/testing.mjs.map +1 -1
  454. package/fesm2020/sort.mjs +24 -16
  455. package/fesm2020/sort.mjs.map +1 -1
  456. package/fesm2020/stepper/testing.mjs.map +1 -1
  457. package/fesm2020/stepper.mjs +75 -96
  458. package/fesm2020/stepper.mjs.map +1 -1
  459. package/fesm2020/table/testing.mjs.map +1 -1
  460. package/fesm2020/table.mjs +58 -58
  461. package/fesm2020/table.mjs.map +1 -1
  462. package/fesm2020/tabs/testing.mjs.map +1 -1
  463. package/fesm2020/tabs.mjs +138 -95
  464. package/fesm2020/tabs.mjs.map +1 -1
  465. package/fesm2020/toolbar/testing.mjs.map +1 -1
  466. package/fesm2020/toolbar.mjs +11 -11
  467. package/fesm2020/toolbar.mjs.map +1 -1
  468. package/fesm2020/tooltip/testing.mjs +11 -6
  469. package/fesm2020/tooltip/testing.mjs.map +1 -1
  470. package/fesm2020/tooltip.mjs +147 -71
  471. package/fesm2020/tooltip.mjs.map +1 -1
  472. package/fesm2020/tree/testing.mjs.map +1 -1
  473. package/fesm2020/tree.mjs +26 -26
  474. package/fesm2020/tree.mjs.map +1 -1
  475. package/form-field/error.d.ts +1 -1
  476. package/form-field/form-field-control.d.ts +4 -4
  477. package/form-field/form-field.d.ts +16 -9
  478. package/form-field/hint.d.ts +1 -1
  479. package/form-field/label.d.ts +1 -1
  480. package/form-field/placeholder.d.ts +1 -1
  481. package/form-field/prefix.d.ts +1 -1
  482. package/form-field/suffix.d.ts +1 -1
  483. package/form-field/testing/public-api.d.ts +1 -1
  484. package/grid-list/grid-list.d.ts +1 -1
  485. package/grid-list/grid-tile.d.ts +5 -5
  486. package/icon/icon-registry.d.ts +7 -9
  487. package/icon/icon.d.ts +13 -4
  488. package/icon/testing/fake-icon-registry.d.ts +1 -1
  489. package/input/input.d.ts +13 -2
  490. package/list/list.d.ts +6 -6
  491. package/list/selection-list.d.ts +5 -22
  492. package/list/testing/list-item-harness-base.d.ts +1 -7
  493. package/menu/menu-content.d.ts +2 -2
  494. package/menu/menu-errors.d.ts +0 -5
  495. package/menu/menu-item.d.ts +4 -3
  496. package/menu/menu-trigger.d.ts +23 -13
  497. package/menu/menu.d.ts +9 -4
  498. package/package.json +7 -7
  499. package/paginator/paginator.d.ts +13 -2
  500. package/paginator/testing/paginator-harness.d.ts +3 -0
  501. package/prebuilt-themes/deeppurple-amber.css +1 -1
  502. package/prebuilt-themes/indigo-pink.css +1 -1
  503. package/prebuilt-themes/pink-bluegrey.css +1 -1
  504. package/prebuilt-themes/purple-green.css +1 -1
  505. package/progress-bar/progress-bar.d.ts +1 -1
  506. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  507. package/progress-spinner/progress-spinner.d.ts +4 -19
  508. package/progress-spinner/public-api.d.ts +8 -1
  509. package/radio/radio.d.ts +11 -6
  510. package/radio/testing/radio-harness-filters.d.ts +2 -0
  511. package/schematics/collection.json +4 -2
  512. package/schematics/migration.json +5 -0
  513. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  514. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  515. package/schematics/ng-add/index.js +2 -2
  516. package/schematics/ng-add/index.mjs +2 -2
  517. package/schematics/ng-add/schema.d.ts +2 -2
  518. package/schematics/ng-add/schema.js +1 -1
  519. package/schematics/ng-add/schema.json +29 -9
  520. package/schematics/ng-add/schema.mjs +1 -1
  521. package/schematics/ng-add/setup-project.js +16 -23
  522. package/schematics/ng-add/setup-project.mjs +16 -23
  523. package/schematics/ng-add/theming/theming.js +28 -39
  524. package/schematics/ng-add/theming/theming.mjs +28 -39
  525. package/schematics/ng-generate/address-form/index.js +5 -14
  526. package/schematics/ng-generate/address-form/index.mjs +5 -14
  527. package/schematics/ng-generate/address-form/schema.json +1 -1
  528. package/schematics/ng-generate/dashboard/index.js +5 -14
  529. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  530. package/schematics/ng-generate/dashboard/schema.json +1 -1
  531. package/schematics/ng-generate/navigation/index.js +5 -14
  532. package/schematics/ng-generate/navigation/index.mjs +5 -14
  533. package/schematics/ng-generate/navigation/schema.json +1 -1
  534. package/schematics/ng-generate/table/index.js +5 -14
  535. package/schematics/ng-generate/table/index.mjs +5 -14
  536. package/schematics/ng-generate/table/schema.json +1 -1
  537. package/schematics/ng-generate/tree/index.js +5 -14
  538. package/schematics/ng-generate/tree/index.mjs +5 -14
  539. package/schematics/ng-generate/tree/schema.json +1 -1
  540. package/schematics/ng-update/data/constructor-checks.js +11 -1
  541. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  542. package/schematics/ng-update/data/css-selectors.js +7 -1
  543. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  544. package/schematics/ng-update/data/index.js +6 -2
  545. package/schematics/ng-update/data/index.mjs +6 -2
  546. package/schematics/ng-update/index.d.ts +2 -0
  547. package/schematics/ng-update/index.js +7 -2
  548. package/schematics/ng-update/index.mjs +7 -2
  549. package/schematics/ng-update/migrations/hammer-gestures-v9/gesture-config.template +1 -1
  550. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +8 -8
  551. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +8 -8
  552. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  553. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  554. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  555. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  556. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  557. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  558. package/schematics/tsconfig.json +1 -4
  559. package/select/select.d.ts +27 -6
  560. package/sidenav/drawer.d.ts +3 -3
  561. package/sidenav/sidenav-module.d.ts +2 -3
  562. package/sidenav/sidenav.d.ts +3 -3
  563. package/slide-toggle/slide-toggle-required-validator.d.ts +1 -1
  564. package/slide-toggle/slide-toggle.d.ts +1 -1
  565. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  566. package/slider/slider.d.ts +1 -1
  567. package/snack-bar/simple-snack-bar.d.ts +1 -1
  568. package/snack-bar/snack-bar-container.d.ts +1 -1
  569. package/snack-bar/snack-bar.d.ts +1 -1
  570. package/sort/sort-header.d.ts +6 -6
  571. package/sort/sort.d.ts +7 -3
  572. package/stepper/public-api.d.ts +1 -1
  573. package/stepper/step-content.d.ts +1 -1
  574. package/stepper/step-header.d.ts +1 -1
  575. package/stepper/step-label.d.ts +1 -1
  576. package/stepper/stepper-animations.d.ts +2 -0
  577. package/stepper/stepper-button.d.ts +2 -2
  578. package/stepper/stepper-icon.d.ts +1 -1
  579. package/stepper/stepper-module.d.ts +1 -1
  580. package/stepper/stepper.d.ts +16 -39
  581. package/table/cell.d.ts +7 -7
  582. package/table/row.d.ts +7 -7
  583. package/table/table.d.ts +2 -2
  584. package/table/text-column.d.ts +1 -1
  585. package/tabs/_tabs-common.scss +6 -5
  586. package/tabs/ink-bar.d.ts +1 -6
  587. package/tabs/paginated-tab-header.d.ts +5 -3
  588. package/tabs/tab-body.d.ts +3 -3
  589. package/tabs/tab-content.d.ts +1 -1
  590. package/tabs/tab-group.d.ts +11 -5
  591. package/tabs/tab-header.d.ts +2 -2
  592. package/tabs/tab-label-wrapper.d.ts +1 -1
  593. package/tabs/tab-label.d.ts +1 -1
  594. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -5
  595. package/tabs/tab.d.ts +1 -1
  596. package/toolbar/toolbar.d.ts +2 -2
  597. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  598. package/tooltip/tooltip.d.ts +40 -12
  599. package/tree/node.d.ts +3 -3
  600. package/tree/outlet.d.ts +1 -1
  601. package/tree/padding.d.ts +1 -1
  602. package/tree/toggle.d.ts +1 -1
  603. package/tree/tree.d.ts +1 -1
@@ -6,15 +6,6 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
9
  Object.defineProperty(exports, "__esModule", { value: true });
19
10
  exports.addFontsToIndex = void 0;
20
11
  const schematics_1 = require("@angular-devkit/schematics");
@@ -22,8 +13,8 @@ const schematics_2 = require("@angular/cdk/schematics");
22
13
  const workspace_1 = require("@schematics/angular/utility/workspace");
23
14
  /** Adds the Material Design fonts to the index HTML file. */
24
15
  function addFontsToIndex(options) {
25
- return (host) => __awaiter(this, void 0, void 0, function* () {
26
- const workspace = yield (0, workspace_1.getWorkspace)(host);
16
+ return async (host) => {
17
+ const workspace = await (0, workspace_1.getWorkspace)(host);
27
18
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
28
19
  const projectIndexFiles = (0, schematics_2.getProjectIndexFiles)(project);
29
20
  if (!projectIndexFiles.length) {
@@ -40,7 +31,7 @@ function addFontsToIndex(options) {
40
31
  (0, schematics_2.appendHtmlElementToHead)(host, indexFilePath, `<link href="${font}" rel="stylesheet">`);
41
32
  });
42
33
  });
43
- });
34
+ };
44
35
  }
45
36
  exports.addFontsToIndex = addFontsToIndex;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9udHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy1hZGQvZm9udHMvbWF0ZXJpYWwtZm9udHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0FBRUgsMkRBQTJFO0FBQzNFLHdEQUlpQztBQUNqQyxxRUFBbUU7QUFHbkUsNkRBQTZEO0FBQzdELFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sQ0FBTyxJQUFVLEVBQUUsRUFBRTtRQUMxQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFBLG9DQUF1QixFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLGlDQUFvQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsTUFBTSxJQUFJLGdDQUFtQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDN0U7UUFFRCxNQUFNLFVBQVUsR0FBRywwREFBMEQsQ0FBQztRQUM5RSxNQUFNLEtBQUssR0FBRztZQUNaLCtFQUErRTtZQUMvRSx5REFBeUQ7U0FDMUQsQ0FBQztRQUVGLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QyxJQUFBLG9DQUF1QixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBQSxvQ0FBdUIsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGVBQWUsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUEsQ0FBQztBQUNKLENBQUM7QUF4QkQsMENBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0SW5kZXhGaWxlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtnZXRXb3Jrc3BhY2V9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF9IGZyb20gJy4uL3NjaGVtYSc7XG5cbi8qKiBBZGRzIHRoZSBNYXRlcmlhbCBEZXNpZ24gZm9udHMgdG8gdGhlIGluZGV4IEhUTUwgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRGb250c1RvSW5kZXgob3B0aW9uczogU2NoZW1hKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IHByb2plY3RJbmRleEZpbGVzID0gZ2V0UHJvamVjdEluZGV4RmlsZXMocHJvamVjdCk7XG5cbiAgICBpZiAoIXByb2plY3RJbmRleEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ05vIHByb2plY3QgaW5kZXggSFRNTCBmaWxlIGNvdWxkIGJlIGZvdW5kLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNvbm5lY3QgPSBgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCI+YDtcbiAgICBjb25zdCBmb250cyA9IFtcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzp3Z2h0QDMwMDs0MDA7NTAwJmRpc3BsYXk9c3dhcCcsXG4gICAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29ucycsXG4gICAgXTtcblxuICAgIHByb2plY3RJbmRleEZpbGVzLmZvckVhY2goaW5kZXhGaWxlUGF0aCA9PiB7XG4gICAgICBhcHBlbmRIdG1sRWxlbWVudFRvSGVhZChob3N0LCBpbmRleEZpbGVQYXRoLCBwcmVjb25uZWN0KTtcblxuICAgICAgZm9udHMuZm9yRWFjaChmb250ID0+IHtcbiAgICAgICAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdCwgaW5kZXhGaWxlUGF0aCwgYDxsaW5rIGhyZWY9XCIke2ZvbnR9XCIgcmVsPVwic3R5bGVzaGVldFwiPmApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9udHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy1hZGQvZm9udHMvbWF0ZXJpYWwtZm9udHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQTJFO0FBQzNFLHdEQUlpQztBQUNqQyxxRUFBbUU7QUFHbkUsNkRBQTZEO0FBQzdELFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sS0FBSyxFQUFFLElBQVUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQXVCLEVBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxNQUFNLGlCQUFpQixHQUFHLElBQUEsaUNBQW9CLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksZ0NBQW1CLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUM3RTtRQUVELE1BQU0sVUFBVSxHQUFHLDBEQUEwRCxDQUFDO1FBQzlFLE1BQU0sS0FBSyxHQUFHO1lBQ1osK0VBQStFO1lBQy9FLHlEQUF5RDtTQUMxRCxDQUFDO1FBRUYsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3hDLElBQUEsb0NBQXVCLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV6RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQixJQUFBLG9DQUF1QixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxJQUFJLHFCQUFxQixDQUFDLENBQUM7WUFDekYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUF4QkQsMENBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0SW5kZXhGaWxlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtnZXRXb3Jrc3BhY2V9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF9IGZyb20gJy4uL3NjaGVtYSc7XG5cbi8qKiBBZGRzIHRoZSBNYXRlcmlhbCBEZXNpZ24gZm9udHMgdG8gdGhlIGluZGV4IEhUTUwgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRGb250c1RvSW5kZXgob3B0aW9uczogU2NoZW1hKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IHByb2plY3RJbmRleEZpbGVzID0gZ2V0UHJvamVjdEluZGV4RmlsZXMocHJvamVjdCk7XG5cbiAgICBpZiAoIXByb2plY3RJbmRleEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ05vIHByb2plY3QgaW5kZXggSFRNTCBmaWxlIGNvdWxkIGJlIGZvdW5kLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNvbm5lY3QgPSBgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCI+YDtcbiAgICBjb25zdCBmb250cyA9IFtcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzp3Z2h0QDMwMDs0MDA7NTAwJmRpc3BsYXk9c3dhcCcsXG4gICAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29ucycsXG4gICAgXTtcblxuICAgIHByb2plY3RJbmRleEZpbGVzLmZvckVhY2goaW5kZXhGaWxlUGF0aCA9PiB7XG4gICAgICBhcHBlbmRIdG1sRWxlbWVudFRvSGVhZChob3N0LCBpbmRleEZpbGVQYXRoLCBwcmVjb25uZWN0KTtcblxuICAgICAgZm9udHMuZm9yRWFjaChmb250ID0+IHtcbiAgICAgICAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdCwgaW5kZXhGaWxlUGF0aCwgYDxsaW5rIGhyZWY9XCIke2ZvbnR9XCIgcmVsPVwic3R5bGVzaGVldFwiPmApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -6,15 +6,6 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
9
  Object.defineProperty(exports, "__esModule", { value: true });
19
10
  exports.addFontsToIndex = void 0;
20
11
  const schematics_1 = require("@angular-devkit/schematics");
@@ -22,8 +13,8 @@ const schematics_2 = require("@angular/cdk/schematics");
22
13
  const workspace_1 = require("@schematics/angular/utility/workspace");
23
14
  /** Adds the Material Design fonts to the index HTML file. */
24
15
  function addFontsToIndex(options) {
25
- return (host) => __awaiter(this, void 0, void 0, function* () {
26
- const workspace = yield (0, workspace_1.getWorkspace)(host);
16
+ return async (host) => {
17
+ const workspace = await (0, workspace_1.getWorkspace)(host);
27
18
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
28
19
  const projectIndexFiles = (0, schematics_2.getProjectIndexFiles)(project);
29
20
  if (!projectIndexFiles.length) {
@@ -40,7 +31,7 @@ function addFontsToIndex(options) {
40
31
  (0, schematics_2.appendHtmlElementToHead)(host, indexFilePath, `<link href="${font}" rel="stylesheet">`);
41
32
  });
42
33
  });
43
- });
34
+ };
44
35
  }
45
36
  exports.addFontsToIndex = addFontsToIndex;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9udHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy1hZGQvZm9udHMvbWF0ZXJpYWwtZm9udHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0FBRUgsMkRBQTJFO0FBQzNFLHdEQUlpQztBQUNqQyxxRUFBbUU7QUFHbkUsNkRBQTZEO0FBQzdELFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sQ0FBTyxJQUFVLEVBQUUsRUFBRTtRQUMxQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFBLG9DQUF1QixFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLGlDQUFvQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsTUFBTSxJQUFJLGdDQUFtQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDN0U7UUFFRCxNQUFNLFVBQVUsR0FBRywwREFBMEQsQ0FBQztRQUM5RSxNQUFNLEtBQUssR0FBRztZQUNaLCtFQUErRTtZQUMvRSx5REFBeUQ7U0FDMUQsQ0FBQztRQUVGLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QyxJQUFBLG9DQUF1QixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBQSxvQ0FBdUIsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGVBQWUsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUEsQ0FBQztBQUNKLENBQUM7QUF4QkQsMENBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0SW5kZXhGaWxlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtnZXRXb3Jrc3BhY2V9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF9IGZyb20gJy4uL3NjaGVtYSc7XG5cbi8qKiBBZGRzIHRoZSBNYXRlcmlhbCBEZXNpZ24gZm9udHMgdG8gdGhlIGluZGV4IEhUTUwgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRGb250c1RvSW5kZXgob3B0aW9uczogU2NoZW1hKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IHByb2plY3RJbmRleEZpbGVzID0gZ2V0UHJvamVjdEluZGV4RmlsZXMocHJvamVjdCk7XG5cbiAgICBpZiAoIXByb2plY3RJbmRleEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ05vIHByb2plY3QgaW5kZXggSFRNTCBmaWxlIGNvdWxkIGJlIGZvdW5kLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNvbm5lY3QgPSBgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCI+YDtcbiAgICBjb25zdCBmb250cyA9IFtcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzp3Z2h0QDMwMDs0MDA7NTAwJmRpc3BsYXk9c3dhcCcsXG4gICAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29ucycsXG4gICAgXTtcblxuICAgIHByb2plY3RJbmRleEZpbGVzLmZvckVhY2goaW5kZXhGaWxlUGF0aCA9PiB7XG4gICAgICBhcHBlbmRIdG1sRWxlbWVudFRvSGVhZChob3N0LCBpbmRleEZpbGVQYXRoLCBwcmVjb25uZWN0KTtcblxuICAgICAgZm9udHMuZm9yRWFjaChmb250ID0+IHtcbiAgICAgICAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdCwgaW5kZXhGaWxlUGF0aCwgYDxsaW5rIGhyZWY9XCIke2ZvbnR9XCIgcmVsPVwic3R5bGVzaGVldFwiPmApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9udHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy1hZGQvZm9udHMvbWF0ZXJpYWwtZm9udHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQTJFO0FBQzNFLHdEQUlpQztBQUNqQyxxRUFBbUU7QUFHbkUsNkRBQTZEO0FBQzdELFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sS0FBSyxFQUFFLElBQVUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQXVCLEVBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxNQUFNLGlCQUFpQixHQUFHLElBQUEsaUNBQW9CLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM3QixNQUFNLElBQUksZ0NBQW1CLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUM3RTtRQUVELE1BQU0sVUFBVSxHQUFHLDBEQUEwRCxDQUFDO1FBQzlFLE1BQU0sS0FBSyxHQUFHO1lBQ1osK0VBQStFO1lBQy9FLHlEQUF5RDtTQUMxRCxDQUFDO1FBRUYsaUJBQWlCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3hDLElBQUEsb0NBQXVCLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV6RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQixJQUFBLG9DQUF1QixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxJQUFJLHFCQUFxQixDQUFDLENBQUM7WUFDekYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUF4QkQsMENBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0SW5kZXhGaWxlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtnZXRXb3Jrc3BhY2V9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHtTY2hlbWF9IGZyb20gJy4uL3NjaGVtYSc7XG5cbi8qKiBBZGRzIHRoZSBNYXRlcmlhbCBEZXNpZ24gZm9udHMgdG8gdGhlIGluZGV4IEhUTUwgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRGb250c1RvSW5kZXgob3B0aW9uczogU2NoZW1hKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IHByb2plY3RJbmRleEZpbGVzID0gZ2V0UHJvamVjdEluZGV4RmlsZXMocHJvamVjdCk7XG5cbiAgICBpZiAoIXByb2plY3RJbmRleEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ05vIHByb2plY3QgaW5kZXggSFRNTCBmaWxlIGNvdWxkIGJlIGZvdW5kLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWNvbm5lY3QgPSBgPGxpbmsgcmVsPVwicHJlY29ubmVjdFwiIGhyZWY9XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCI+YDtcbiAgICBjb25zdCBmb250cyA9IFtcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzp3Z2h0QDMwMDs0MDA7NTAwJmRpc3BsYXk9c3dhcCcsXG4gICAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29ucycsXG4gICAgXTtcblxuICAgIHByb2plY3RJbmRleEZpbGVzLmZvckVhY2goaW5kZXhGaWxlUGF0aCA9PiB7XG4gICAgICBhcHBlbmRIdG1sRWxlbWVudFRvSGVhZChob3N0LCBpbmRleEZpbGVQYXRoLCBwcmVjb25uZWN0KTtcblxuICAgICAgZm9udHMuZm9yRWFjaChmb250ID0+IHtcbiAgICAgICAgYXBwZW5kSHRtbEVsZW1lbnRUb0hlYWQoaG9zdCwgaW5kZXhGaWxlUGF0aCwgYDxsaW5rIGhyZWY9XCIke2ZvbnR9XCIgcmVsPVwic3R5bGVzaGVldFwiPmApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -18,7 +18,7 @@ const package_config_1 = require("./package-config");
18
18
  * Note that the fallback version range does not use caret, but tilde because that is
19
19
  * the default for Angular framework dependencies in CLI projects.
20
20
  */
21
- const fallbackMaterialVersionRange = `~13.2.1`;
21
+ const fallbackMaterialVersionRange = `~14.0.0-next.12`;
22
22
  /**
23
23
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
24
24
  * automatically executed if developers run `ng add @angular/material`.
@@ -33,7 +33,7 @@ function default_1(options) {
33
33
  // have the same version tag if possible.
34
34
  const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/core');
35
35
  const materialVersionRange = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
36
- const angularDependencyVersion = ngCoreVersionTag || `^13.0.0 || ^14.0.0-0`;
36
+ const angularDependencyVersion = ngCoreVersionTag || `^14.0.0-0 || ^15.0.0`;
37
37
  // The CLI inserts `@angular/material` into the `package.json` before this schematic runs.
38
38
  // This means that we do not need to insert Angular Material into `package.json` files again.
39
39
  // In some cases though, it could happen that this schematic runs outside of the CLI `ng add`
@@ -18,7 +18,7 @@ const package_config_1 = require("./package-config");
18
18
  * Note that the fallback version range does not use caret, but tilde because that is
19
19
  * the default for Angular framework dependencies in CLI projects.
20
20
  */
21
- const fallbackMaterialVersionRange = `~13.2.1`;
21
+ const fallbackMaterialVersionRange = `~14.0.0-next.12`;
22
22
  /**
23
23
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
24
24
  * automatically executed if developers run `ng add @angular/material`.
@@ -33,7 +33,7 @@ function default_1(options) {
33
33
  // have the same version tag if possible.
34
34
  const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/core');
35
35
  const materialVersionRange = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
36
- const angularDependencyVersion = ngCoreVersionTag || `^13.0.0 || ^14.0.0-0`;
36
+ const angularDependencyVersion = ngCoreVersionTag || `^14.0.0-0 || ^15.0.0`;
37
37
  // The CLI inserts `@angular/material` into the `package.json` before this schematic runs.
38
38
  // This means that we do not need to insert Angular Material into `package.json` files again.
39
39
  // In some cases though, it could happen that this schematic runs outside of the CLI `ng add`
@@ -8,8 +8,8 @@
8
8
  export interface Schema {
9
9
  /** Name of the project. */
10
10
  project: string;
11
- /** Whether Angular browser animations should be set up. */
12
- animations: boolean;
11
+ /** Whether the Angular browser animations module should be included and enabled. */
12
+ animations: 'enabled' | 'disabled' | 'excluded';
13
13
  /** Name of pre-built theme to install. */
14
14
  theme: 'indigo-pink' | 'deeppurple-amber' | 'pink-bluegrey' | 'purple-green' | 'custom';
15
15
  /** Whether to set up global typography styles. */
@@ -7,4 +7,4 @@
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NjaGVtYXRpY3MvbmctYWRkL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHByb2plY3QuICovXG4gIHByb2plY3Q6IHN0cmluZztcblxuICAvKiogV2hldGhlciBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucyBzaG91bGQgYmUgc2V0IHVwLiAqL1xuICBhbmltYXRpb25zOiBib29sZWFuO1xuXG4gIC8qKiBOYW1lIG9mIHByZS1idWlsdCB0aGVtZSB0byBpbnN0YWxsLiAqL1xuICB0aGVtZTogJ2luZGlnby1waW5rJyB8ICdkZWVwcHVycGxlLWFtYmVyJyB8ICdwaW5rLWJsdWVncmV5JyB8ICdwdXJwbGUtZ3JlZW4nIHwgJ2N1c3RvbSc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2V0IHVwIGdsb2JhbCB0eXBvZ3JhcGh5IHN0eWxlcy4gKi9cbiAgdHlwb2dyYXBoeTogYm9vbGVhbjtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NjaGVtYXRpY3MvbmctYWRkL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHByb2plY3QuICovXG4gIHByb2plY3Q6IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGUgQW5ndWxhciBicm93c2VyIGFuaW1hdGlvbnMgbW9kdWxlIHNob3VsZCBiZSBpbmNsdWRlZCBhbmQgZW5hYmxlZC4gKi9cbiAgYW5pbWF0aW9uczogJ2VuYWJsZWQnIHwgJ2Rpc2FibGVkJyB8ICdleGNsdWRlZCc7XG5cbiAgLyoqIE5hbWUgb2YgcHJlLWJ1aWx0IHRoZW1lIHRvIGluc3RhbGwuICovXG4gIHRoZW1lOiAnaW5kaWdvLXBpbmsnIHwgJ2RlZXBwdXJwbGUtYW1iZXInIHwgJ3BpbmstYmx1ZWdyZXknIHwgJ3B1cnBsZS1ncmVlbicgfCAnY3VzdG9tJztcblxuICAvKiogV2hldGhlciB0byBzZXQgdXAgZ2xvYmFsIHR5cG9ncmFwaHkgc3R5bGVzLiAqL1xuICB0eXBvZ3JhcGh5OiBib29sZWFuO1xufVxuIl19
@@ -19,11 +19,23 @@
19
19
  "message": "Choose a prebuilt theme name, or \"custom\" for a custom theme:",
20
20
  "type": "list",
21
21
  "items": [
22
- { "value": "indigo-pink", "label": "Indigo/Pink [ Preview: https://material.angular.io?theme=indigo-pink ]" },
23
- { "value": "deeppurple-amber", "label": "Deep Purple/Amber [ Preview: https://material.angular.io?theme=deeppurple-amber ]" },
24
- { "value": "pink-bluegrey", "label": "Pink/Blue Grey [ Preview: https://material.angular.io?theme=pink-bluegrey ]" },
25
- { "value": "purple-green", "label": "Purple/Green [ Preview: https://material.angular.io?theme=purple-green ]" },
26
- { "value": "custom", "label": "Custom" }
22
+ {
23
+ "value": "indigo-pink",
24
+ "label": "Indigo/Pink [ Preview: https://material.angular.io?theme=indigo-pink ]"
25
+ },
26
+ {
27
+ "value": "deeppurple-amber",
28
+ "label": "Deep Purple/Amber [ Preview: https://material.angular.io?theme=deeppurple-amber ]"
29
+ },
30
+ {
31
+ "value": "pink-bluegrey",
32
+ "label": "Pink/Blue Grey [ Preview: https://material.angular.io?theme=pink-bluegrey ]"
33
+ },
34
+ {
35
+ "value": "purple-green",
36
+ "label": "Purple/Green [ Preview: https://material.angular.io?theme=purple-green ]"
37
+ },
38
+ {"value": "custom", "label": "Custom"}
27
39
  ]
28
40
  }
29
41
  },
@@ -34,10 +46,18 @@
34
46
  "x-prompt": "Set up global Angular Material typography styles?"
35
47
  },
36
48
  "animations": {
37
- "type": "boolean",
38
- "default": true,
39
- "description": "Whether Angular browser animations should be set up.",
40
- "x-prompt": "Set up browser animations for Angular Material?"
49
+ "type": "string",
50
+ "default": "enabled",
51
+ "description": "Whether Angular browser animations should be included.",
52
+ "x-prompt": {
53
+ "message": "Include the Angular animations module?",
54
+ "type": "list",
55
+ "items": [
56
+ {"value": "enabled", "label": "Include and enable animations"},
57
+ {"value": "disabled", "label": "Include, but disable animations"},
58
+ {"value": "excluded", "label": "Do not include"}
59
+ ]
60
+ }
41
61
  }
42
62
  },
43
63
  "required": []
@@ -7,4 +7,4 @@
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NjaGVtYXRpY3MvbmctYWRkL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHByb2plY3QuICovXG4gIHByb2plY3Q6IHN0cmluZztcblxuICAvKiogV2hldGhlciBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucyBzaG91bGQgYmUgc2V0IHVwLiAqL1xuICBhbmltYXRpb25zOiBib29sZWFuO1xuXG4gIC8qKiBOYW1lIG9mIHByZS1idWlsdCB0aGVtZSB0byBpbnN0YWxsLiAqL1xuICB0aGVtZTogJ2luZGlnby1waW5rJyB8ICdkZWVwcHVycGxlLWFtYmVyJyB8ICdwaW5rLWJsdWVncmV5JyB8ICdwdXJwbGUtZ3JlZW4nIHwgJ2N1c3RvbSc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2V0IHVwIGdsb2JhbCB0eXBvZ3JhcGh5IHN0eWxlcy4gKi9cbiAgdHlwb2dyYXBoeTogYm9vbGVhbjtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NjaGVtYXRpY3MvbmctYWRkL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHByb2plY3QuICovXG4gIHByb2plY3Q6IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGUgQW5ndWxhciBicm93c2VyIGFuaW1hdGlvbnMgbW9kdWxlIHNob3VsZCBiZSBpbmNsdWRlZCBhbmQgZW5hYmxlZC4gKi9cbiAgYW5pbWF0aW9uczogJ2VuYWJsZWQnIHwgJ2Rpc2FibGVkJyB8ICdleGNsdWRlZCc7XG5cbiAgLyoqIE5hbWUgb2YgcHJlLWJ1aWx0IHRoZW1lIHRvIGluc3RhbGwuICovXG4gIHRoZW1lOiAnaW5kaWdvLXBpbmsnIHwgJ2RlZXBwdXJwbGUtYW1iZXInIHwgJ3BpbmstYmx1ZWdyZXknIHwgJ3B1cnBsZS1ncmVlbicgfCAnY3VzdG9tJztcblxuICAvKiogV2hldGhlciB0byBzZXQgdXAgZ2xvYmFsIHR5cG9ncmFwaHkgc3R5bGVzLiAqL1xuICB0eXBvZ3JhcGh5OiBib29sZWFuO1xufVxuIl19
@@ -6,15 +6,6 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
9
  Object.defineProperty(exports, "__esModule", { value: true });
19
10
  const schematics_1 = require("@angular-devkit/schematics");
20
11
  const schematics_2 = require("@angular/cdk/schematics");
@@ -33,8 +24,8 @@ const noopAnimationsModuleName = 'NoopAnimationsModule';
33
24
  * - Adds Browser Animation to app.module
34
25
  */
35
26
  function default_1(options) {
36
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
37
- const workspace = yield (0, workspace_1.getWorkspace)(host);
27
+ return async (host, context) => {
28
+ const workspace = await (0, workspace_1.getWorkspace)(host);
38
29
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
39
30
  if (project.extensions.projectType === workspace_models_1.ProjectType.Application) {
40
31
  return (0, schematics_1.chain)([
@@ -50,7 +41,7 @@ function default_1(options) {
50
41
  'If you intended to run the schematic on a different project, pass the `--project` ' +
51
42
  'option.');
52
43
  return;
53
- });
44
+ };
54
45
  }
55
46
  exports.default = default_1;
56
47
  /**
@@ -59,11 +50,11 @@ exports.default = default_1;
59
50
  * components of Angular Material will throw an exception.
60
51
  */
61
52
  function addAnimationsModule(options) {
62
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
63
- const workspace = yield (0, workspace_1.getWorkspace)(host);
53
+ return async (host, context) => {
54
+ const workspace = await (0, workspace_1.getWorkspace)(host);
64
55
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
65
56
  const appModulePath = (0, schematics_2.getAppModulePath)(host, (0, schematics_2.getProjectMainFile)(project));
66
- if (options.animations) {
57
+ if (options.animations === 'enabled') {
67
58
  // In case the project explicitly uses the NoopAnimationsModule, we should print a warning
68
59
  // message that makes the user aware of the fact that we won't automatically set up
69
60
  // animations. If we would add the BrowserAnimationsModule while the NoopAnimationsModule
@@ -72,24 +63,26 @@ function addAnimationsModule(options) {
72
63
  context.logger.error(`Could not set up "${browserAnimationsModuleName}" ` +
73
64
  `because "${noopAnimationsModuleName}" is already imported.`);
74
65
  context.logger.info(`Please manually set up browser animations.`);
75
- return;
76
66
  }
77
- (0, schematics_2.addModuleImportToRootModule)(host, browserAnimationsModuleName, '@angular/platform-browser/animations', project);
67
+ else {
68
+ (0, schematics_2.addModuleImportToRootModule)(host, browserAnimationsModuleName, '@angular/platform-browser/animations', project);
69
+ }
78
70
  }
79
- else if (!(0, schematics_2.hasNgModuleImport)(host, appModulePath, browserAnimationsModuleName)) {
71
+ else if (options.animations === 'disabled' &&
72
+ !(0, schematics_2.hasNgModuleImport)(host, appModulePath, browserAnimationsModuleName)) {
80
73
  // Do not add the NoopAnimationsModule module if the project already explicitly uses
81
74
  // the BrowserAnimationsModule.
82
75
  (0, schematics_2.addModuleImportToRootModule)(host, noopAnimationsModuleName, '@angular/platform-browser/animations', project);
83
76
  }
84
- });
77
+ };
85
78
  }
86
79
  /**
87
80
  * Adds custom Material styles to the project style file. The custom CSS sets up the Roboto font
88
81
  * and reset the default browser body margin.
89
82
  */
90
83
  function addMaterialAppStyles(options) {
91
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
92
- const workspace = yield (0, workspace_1.getWorkspace)(host);
84
+ return async (host, context) => {
85
+ const workspace = await (0, workspace_1.getWorkspace)(host);
93
86
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
94
87
  const styleFilePath = (0, schematics_2.getProjectStyleFile)(project);
95
88
  const logger = context.logger;
@@ -115,6 +108,6 @@ function addMaterialAppStyles(options) {
115
108
  const recorder = host.beginUpdate(styleFilePath);
116
109
  recorder.insertLeft(htmlContent.length, insertion);
117
110
  host.commitUpdate(recorder);
118
- });
111
+ };
119
112
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zY2hlbWF0aWNzL25nLWFkZC9zZXR1cC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7O0FBRUgsMkRBQStFO0FBQy9FLHdEQU9pQztBQUNqQyxxRUFBbUU7QUFDbkUsbUZBQXlFO0FBQ3pFLDJEQUF1RDtBQUV2RCwrQ0FBMEU7QUFFMUUsMEVBQTBFO0FBQzFFLE1BQU0sMkJBQTJCLEdBQUcseUJBQXlCLENBQUM7QUFFOUQsb0ZBQW9GO0FBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxtQkFBeUIsT0FBZTtJQUN0QyxPQUFPLENBQU8sSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFBLG9DQUF1QixFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsS0FBSyw4QkFBVyxDQUFDLFdBQVcsRUFBRTtZQUM5RCxPQUFPLElBQUEsa0JBQUssRUFBQztnQkFDWCxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7Z0JBQzVCLElBQUEsNkJBQW1CLEVBQUMsT0FBTyxDQUFDO2dCQUM1QixJQUFBLGdDQUFlLEVBQUMsT0FBTyxDQUFDO2dCQUN4QixvQkFBb0IsQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLElBQUEsNEJBQWtCLEVBQUMsT0FBTyxDQUFDO2FBQzVCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2pCLG1GQUFtRjtZQUNqRixzRUFBc0U7WUFDdEUsb0ZBQW9G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QUFPO1NBQ1I7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpELFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2NoYWluLCBSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUsXG4gIGdldEFwcE1vZHVsZVBhdGgsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0TWFpbkZpbGUsXG4gIGdldFByb2plY3RTdHlsZUZpbGUsXG4gIGhhc05nTW9kdWxlSW1wb3J0LFxufSBmcm9tICdAYW5ndWxhci9jZGsvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFdvcmtzcGFjZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQge1Byb2plY3RUeXBlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQge2FkZEZvbnRzVG9JbmRleH0gZnJvbSAnLi9mb250cy9tYXRlcmlhbC1mb250cyc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHthZGRUaGVtZVRvQXBwU3R5bGVzLCBhZGRUeXBvZ3JhcGh5Q2xhc3N9IGZyb20gJy4vdGhlbWluZy90aGVtaW5nJztcblxuLyoqIE5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIHRoYXQgZW5hYmxlcyBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucy4gKi9cbmNvbnN0IGJyb3dzZXJBbmltYXRpb25zTW9kdWxlTmFtZSA9ICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZSc7XG5cbi8qKiBOYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBzd2l0Y2hlcyBBbmd1bGFyIGFuaW1hdGlvbnMgdG8gYSBub29wIGltcGxlbWVudGF0aW9uLiAqL1xuY29uc3Qgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lID0gJ05vb3BBbmltYXRpb25zTW9kdWxlJztcblxuLyoqXG4gKiBTY2FmZm9sZHMgdGhlIGJhc2ljcyBvZiBhIEFuZ3VsYXIgTWF0ZXJpYWwgYXBwbGljYXRpb24sIHRoaXMgaW5jbHVkZXM6XG4gKiAgLSBBZGQgUGFja2FnZXMgdG8gcGFja2FnZS5qc29uXG4gKiAgLSBBZGRzIHByZS1idWlsdCB0aGVtZXMgdG8gc3R5bGVzLmV4dFxuICogIC0gQWRkcyBCcm93c2VyIEFuaW1hdGlvbiB0byBhcHAubW9kdWxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBTY2hlbWEpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG5cbiAgICBpZiAocHJvamVjdC5leHRlbnNpb25zLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5BcHBsaWNhdGlvbikge1xuICAgICAgcmV0dXJuIGNoYWluKFtcbiAgICAgICAgYWRkQW5pbWF0aW9uc01vZHVsZShvcHRpb25zKSxcbiAgICAgICAgYWRkVGhlbWVUb0FwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkRm9udHNUb0luZGV4KG9wdGlvbnMpLFxuICAgICAgICBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkVHlwb2dyYXBoeUNsYXNzKG9wdGlvbnMpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAnQW5ndWxhciBNYXRlcmlhbCBoYXMgYmVlbiBzZXQgdXAgaW4geW91ciB3b3Jrc3BhY2UuIFRoZXJlIGlzIG5vIGFkZGl0aW9uYWwgc2V0dXAgJyArXG4gICAgICAgICdyZXF1aXJlZCBmb3IgY29uc3VtaW5nIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBsaWJyYXJ5IHByb2plY3QuXFxuXFxuJyArXG4gICAgICAgICdJZiB5b3UgaW50ZW5kZWQgdG8gcnVuIHRoZSBzY2hlbWF0aWMgb24gYSBkaWZmZXJlbnQgcHJvamVjdCwgcGFzcyB0aGUgYC0tcHJvamVjdGAgJyArXG4gICAgICAgICdvcHRpb24uJyxcbiAgICApO1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFuaW1hdGlvbiBtb2R1bGUgdG8gdGhlIHJvb3QgbW9kdWxlIG9mIHRoZSBzcGVjaWZpZWQgcHJvamVjdC4gSW4gY2FzZSB0aGUgXCJhbmltYXRpb25zXCJcbiAqIG9wdGlvbiBpcyBzZXQgdG8gZmFsc2UsIHdlIHN0aWxsIGFkZCB0aGUgYE5vb3BBbmltYXRpb25zTW9kdWxlYCBiZWNhdXNlIG90aGVyd2lzZSB2YXJpb3VzXG4gKiBjb21wb25lbnRzIG9mIEFuZ3VsYXIgTWF0ZXJpYWwgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24uXG4gKi9cbmZ1bmN0aW9uIGFkZEFuaW1hdGlvbnNNb2R1bGUob3B0aW9uczogU2NoZW1hKSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IGFwcE1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0KSk7XG5cbiAgICBpZiAob3B0aW9ucy5hbmltYXRpb25zKSB7XG4gICAgICAvLyBJbiBjYXNlIHRoZSBwcm9qZWN0IGV4cGxpY2l0bHkgdXNlcyB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUsIHdlIHNob3VsZCBwcmludCBhIHdhcm5pbmdcbiAgICAgIC8vIG1lc3NhZ2UgdGhhdCBtYWtlcyB0aGUgdXNlciBhd2FyZSBvZiB0aGUgZmFjdCB0aGF0IHdlIHdvbid0IGF1dG9tYXRpY2FsbHkgc2V0IHVwXG4gICAgICAvLyBhbmltYXRpb25zLiBJZiB3ZSB3b3VsZCBhZGQgdGhlIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIHdoaWxlIHRoZSBOb29wQW5pbWF0aW9uc01vZHVsZVxuICAgICAgLy8gaXMgYWxyZWFkeSBjb25maWd1cmVkLCB3ZSB3b3VsZCBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yIGFuZCBydW50aW1lIGV4Y2VwdGlvbnMuXG4gICAgICBpZiAoaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lKSkge1xuICAgICAgICBjb250ZXh0LmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IHNldCB1cCBcIiR7YnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lfVwiIGAgK1xuICAgICAgICAgICAgYGJlY2F1c2UgXCIke25vb3BBbmltYXRpb25zTW9kdWxlTmFtZX1cIiBpcyBhbHJlYWR5IGltcG9ydGVkLmAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmluZm8oYFBsZWFzZSBtYW51YWxseSBzZXQgdXAgYnJvd3NlciBhbmltYXRpb25zLmApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFkZE1vZHVsZUltcG9ydFRvUm9vdE1vZHVsZShcbiAgICAgICAgaG9zdCxcbiAgICAgICAgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lLFxuICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJyxcbiAgICAgICAgcHJvamVjdCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lKSkge1xuICAgICAgLy8gRG8gbm90IGFkZCB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUgbW9kdWxlIGlmIHRoZSBwcm9qZWN0IGFscmVhZHkgZXhwbGljaXRseSB1c2VzXG4gICAgICAvLyB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUuXG4gICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgIGhvc3QsXG4gICAgICAgIG5vb3BBbmltYXRpb25zTW9kdWxlTmFtZSxcbiAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgIHByb2plY3QsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGN1c3RvbSBNYXRlcmlhbCBzdHlsZXMgdG8gdGhlIHByb2plY3Qgc3R5bGUgZmlsZS4gVGhlIGN1c3RvbSBDU1Mgc2V0cyB1cCB0aGUgUm9ib3RvIGZvbnRcbiAqIGFuZCByZXNldCB0aGUgZGVmYXVsdCBicm93c2VyIGJvZHkgbWFyZ2luLlxuICovXG5mdW5jdGlvbiBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zOiBTY2hlbWEpIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG4gICAgY29uc3Qgc3R5bGVGaWxlUGF0aCA9IGdldFByb2plY3RTdHlsZUZpbGUocHJvamVjdCk7XG4gICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXI7XG5cbiAgICBpZiAoIXN0eWxlRmlsZVBhdGgpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGRlZmF1bHQgc3R5bGUgZmlsZSBmb3IgdGhpcyBwcm9qZWN0LmApO1xuICAgICAgbG9nZ2VyLmluZm8oYENvbnNpZGVyIG1hbnVhbGx5IGFkZGluZyB0aGUgUm9ib3RvIGZvbnQgdG8geW91ciBDU1MuYCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTW9yZSBpbmZvcm1hdGlvbiBhdCBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vUm9ib3RvYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gaG9zdC5yZWFkKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgaWYgKCFidWZmZXIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZWFkIHRoZSBkZWZhdWx0IHN0eWxlIGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0IGAgKyBgKCR7c3R5bGVGaWxlUGF0aH0pYCxcbiAgICAgICk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIGNvbnNpZGVyIG1hbnVhbGx5IHNldHRpbmcgdXAgdGhlIFJvYm90byBmb250LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYnVmZmVyLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW5zZXJ0aW9uID1cbiAgICAgICdcXG4nICtcbiAgICAgIGBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XFxuYCArXG4gICAgICBgYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyB9XFxuYDtcblxuICAgIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhpbnNlcnRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChodG1sQ29udGVudC5sZW5ndGgsIGluc2VydGlvbik7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuICB9O1xufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zY2hlbWF0aWNzL25nLWFkZC9zZXR1cC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBQStFO0FBQy9FLHdEQU9pQztBQUNqQyxxRUFBbUU7QUFDbkUsbUZBQXlFO0FBQ3pFLDJEQUF1RDtBQUV2RCwrQ0FBMEU7QUFFMUUsMEVBQTBFO0FBQzFFLE1BQU0sMkJBQTJCLEdBQUcseUJBQXlCLENBQUM7QUFFOUQsb0ZBQW9GO0FBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxtQkFBeUIsT0FBZTtJQUN0QyxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1FBQ3JELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQXVCLEVBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxLQUFLLDhCQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlELE9BQU8sSUFBQSxrQkFBSyxFQUFDO2dCQUNYLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDNUIsSUFBQSw2QkFBbUIsRUFBQyxPQUFPLENBQUM7Z0JBQzVCLElBQUEsZ0NBQWUsRUFBQyxPQUFPLENBQUM7Z0JBQ3hCLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztnQkFDN0IsSUFBQSw0QkFBa0IsRUFBQyxPQUFPLENBQUM7YUFDNUIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsbUZBQW1GO1lBQ2pGLHNFQUFzRTtZQUN0RSxvRkFBb0Y7WUFD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LENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25DLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFakQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2NoYWluLCBSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUsXG4gIGdldEFwcE1vZHVsZVBhdGgsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0TWFpbkZpbGUsXG4gIGdldFByb2plY3RTdHlsZUZpbGUsXG4gIGhhc05nTW9kdWxlSW1wb3J0LFxufSBmcm9tICdAYW5ndWxhci9jZGsvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFdvcmtzcGFjZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQge1Byb2plY3RUeXBlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQge2FkZEZvbnRzVG9JbmRleH0gZnJvbSAnLi9mb250cy9tYXRlcmlhbC1mb250cyc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHthZGRUaGVtZVRvQXBwU3R5bGVzLCBhZGRUeXBvZ3JhcGh5Q2xhc3N9IGZyb20gJy4vdGhlbWluZy90aGVtaW5nJztcblxuLyoqIE5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIHRoYXQgZW5hYmxlcyBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucy4gKi9cbmNvbnN0IGJyb3dzZXJBbmltYXRpb25zTW9kdWxlTmFtZSA9ICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZSc7XG5cbi8qKiBOYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBzd2l0Y2hlcyBBbmd1bGFyIGFuaW1hdGlvbnMgdG8gYSBub29wIGltcGxlbWVudGF0aW9uLiAqL1xuY29uc3Qgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lID0gJ05vb3BBbmltYXRpb25zTW9kdWxlJztcblxuLyoqXG4gKiBTY2FmZm9sZHMgdGhlIGJhc2ljcyBvZiBhIEFuZ3VsYXIgTWF0ZXJpYWwgYXBwbGljYXRpb24sIHRoaXMgaW5jbHVkZXM6XG4gKiAgLSBBZGQgUGFja2FnZXMgdG8gcGFja2FnZS5qc29uXG4gKiAgLSBBZGRzIHByZS1idWlsdCB0aGVtZXMgdG8gc3R5bGVzLmV4dFxuICogIC0gQWRkcyBCcm93c2VyIEFuaW1hdGlvbiB0byBhcHAubW9kdWxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBTY2hlbWEpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG5cbiAgICBpZiAocHJvamVjdC5leHRlbnNpb25zLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5BcHBsaWNhdGlvbikge1xuICAgICAgcmV0dXJuIGNoYWluKFtcbiAgICAgICAgYWRkQW5pbWF0aW9uc01vZHVsZShvcHRpb25zKSxcbiAgICAgICAgYWRkVGhlbWVUb0FwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkRm9udHNUb0luZGV4KG9wdGlvbnMpLFxuICAgICAgICBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkVHlwb2dyYXBoeUNsYXNzKG9wdGlvbnMpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAnQW5ndWxhciBNYXRlcmlhbCBoYXMgYmVlbiBzZXQgdXAgaW4geW91ciB3b3Jrc3BhY2UuIFRoZXJlIGlzIG5vIGFkZGl0aW9uYWwgc2V0dXAgJyArXG4gICAgICAgICdyZXF1aXJlZCBmb3IgY29uc3VtaW5nIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBsaWJyYXJ5IHByb2plY3QuXFxuXFxuJyArXG4gICAgICAgICdJZiB5b3UgaW50ZW5kZWQgdG8gcnVuIHRoZSBzY2hlbWF0aWMgb24gYSBkaWZmZXJlbnQgcHJvamVjdCwgcGFzcyB0aGUgYC0tcHJvamVjdGAgJyArXG4gICAgICAgICdvcHRpb24uJyxcbiAgICApO1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFuaW1hdGlvbiBtb2R1bGUgdG8gdGhlIHJvb3QgbW9kdWxlIG9mIHRoZSBzcGVjaWZpZWQgcHJvamVjdC4gSW4gY2FzZSB0aGUgXCJhbmltYXRpb25zXCJcbiAqIG9wdGlvbiBpcyBzZXQgdG8gZmFsc2UsIHdlIHN0aWxsIGFkZCB0aGUgYE5vb3BBbmltYXRpb25zTW9kdWxlYCBiZWNhdXNlIG90aGVyd2lzZSB2YXJpb3VzXG4gKiBjb21wb25lbnRzIG9mIEFuZ3VsYXIgTWF0ZXJpYWwgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24uXG4gKi9cbmZ1bmN0aW9uIGFkZEFuaW1hdGlvbnNNb2R1bGUob3B0aW9uczogU2NoZW1hKSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IGFwcE1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0KSk7XG5cbiAgICBpZiAob3B0aW9ucy5hbmltYXRpb25zID09PSAnZW5hYmxlZCcpIHtcbiAgICAgIC8vIEluIGNhc2UgdGhlIHByb2plY3QgZXhwbGljaXRseSB1c2VzIHRoZSBOb29wQW5pbWF0aW9uc01vZHVsZSwgd2Ugc2hvdWxkIHByaW50IGEgd2FybmluZ1xuICAgICAgLy8gbWVzc2FnZSB0aGF0IG1ha2VzIHRoZSB1c2VyIGF3YXJlIG9mIHRoZSBmYWN0IHRoYXQgd2Ugd29uJ3QgYXV0b21hdGljYWxseSBzZXQgdXBcbiAgICAgIC8vIGFuaW1hdGlvbnMuIElmIHdlIHdvdWxkIGFkZCB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgd2hpbGUgdGhlIE5vb3BBbmltYXRpb25zTW9kdWxlXG4gICAgICAvLyBpcyBhbHJlYWR5IGNvbmZpZ3VyZWQsIHdlIHdvdWxkIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYW5kIHJ1bnRpbWUgZXhjZXB0aW9ucy5cbiAgICAgIGlmIChoYXNOZ01vZHVsZUltcG9ydChob3N0LCBhcHBNb2R1bGVQYXRoLCBub29wQW5pbWF0aW9uc01vZHVsZU5hbWUpKSB7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3Qgc2V0IHVwIFwiJHticm93c2VyQW5pbWF0aW9uc01vZHVsZU5hbWV9XCIgYCArXG4gICAgICAgICAgICBgYmVjYXVzZSBcIiR7bm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lfVwiIGlzIGFscmVhZHkgaW1wb3J0ZWQuYCxcbiAgICAgICAgKTtcbiAgICAgICAgY29udGV4dC5sb2dnZXIuaW5mbyhgUGxlYXNlIG1hbnVhbGx5IHNldCB1cCBicm93c2VyIGFuaW1hdGlvbnMuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgICAgaG9zdCxcbiAgICAgICAgICBicm93c2VyQW5pbWF0aW9uc01vZHVsZU5hbWUsXG4gICAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgb3B0aW9ucy5hbmltYXRpb25zID09PSAnZGlzYWJsZWQnICYmXG4gICAgICAhaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lKVxuICAgICkge1xuICAgICAgLy8gRG8gbm90IGFkZCB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUgbW9kdWxlIGlmIHRoZSBwcm9qZWN0IGFscmVhZHkgZXhwbGljaXRseSB1c2VzXG4gICAgICAvLyB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUuXG4gICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgIGhvc3QsXG4gICAgICAgIG5vb3BBbmltYXRpb25zTW9kdWxlTmFtZSxcbiAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgIHByb2plY3QsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGN1c3RvbSBNYXRlcmlhbCBzdHlsZXMgdG8gdGhlIHByb2plY3Qgc3R5bGUgZmlsZS4gVGhlIGN1c3RvbSBDU1Mgc2V0cyB1cCB0aGUgUm9ib3RvIGZvbnRcbiAqIGFuZCByZXNldCB0aGUgZGVmYXVsdCBicm93c2VyIGJvZHkgbWFyZ2luLlxuICovXG5mdW5jdGlvbiBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zOiBTY2hlbWEpIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG4gICAgY29uc3Qgc3R5bGVGaWxlUGF0aCA9IGdldFByb2plY3RTdHlsZUZpbGUocHJvamVjdCk7XG4gICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXI7XG5cbiAgICBpZiAoIXN0eWxlRmlsZVBhdGgpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGRlZmF1bHQgc3R5bGUgZmlsZSBmb3IgdGhpcyBwcm9qZWN0LmApO1xuICAgICAgbG9nZ2VyLmluZm8oYENvbnNpZGVyIG1hbnVhbGx5IGFkZGluZyB0aGUgUm9ib3RvIGZvbnQgdG8geW91ciBDU1MuYCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTW9yZSBpbmZvcm1hdGlvbiBhdCBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vUm9ib3RvYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gaG9zdC5yZWFkKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgaWYgKCFidWZmZXIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZWFkIHRoZSBkZWZhdWx0IHN0eWxlIGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0IGAgKyBgKCR7c3R5bGVGaWxlUGF0aH0pYCxcbiAgICAgICk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIGNvbnNpZGVyIG1hbnVhbGx5IHNldHRpbmcgdXAgdGhlIFJvYm90byBmb250LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYnVmZmVyLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW5zZXJ0aW9uID1cbiAgICAgICdcXG4nICtcbiAgICAgIGBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XFxuYCArXG4gICAgICBgYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyB9XFxuYDtcblxuICAgIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhpbnNlcnRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChodG1sQ29udGVudC5sZW5ndGgsIGluc2VydGlvbik7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuICB9O1xufVxuIl19
@@ -6,15 +6,6 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
9
  Object.defineProperty(exports, "__esModule", { value: true });
19
10
  const schematics_1 = require("@angular-devkit/schematics");
20
11
  const schematics_2 = require("@angular/cdk/schematics");
@@ -33,8 +24,8 @@ const noopAnimationsModuleName = 'NoopAnimationsModule';
33
24
  * - Adds Browser Animation to app.module
34
25
  */
35
26
  function default_1(options) {
36
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
37
- const workspace = yield (0, workspace_1.getWorkspace)(host);
27
+ return async (host, context) => {
28
+ const workspace = await (0, workspace_1.getWorkspace)(host);
38
29
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
39
30
  if (project.extensions.projectType === workspace_models_1.ProjectType.Application) {
40
31
  return (0, schematics_1.chain)([
@@ -50,7 +41,7 @@ function default_1(options) {
50
41
  'If you intended to run the schematic on a different project, pass the `--project` ' +
51
42
  'option.');
52
43
  return;
53
- });
44
+ };
54
45
  }
55
46
  exports.default = default_1;
56
47
  /**
@@ -59,11 +50,11 @@ exports.default = default_1;
59
50
  * components of Angular Material will throw an exception.
60
51
  */
61
52
  function addAnimationsModule(options) {
62
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
63
- const workspace = yield (0, workspace_1.getWorkspace)(host);
53
+ return async (host, context) => {
54
+ const workspace = await (0, workspace_1.getWorkspace)(host);
64
55
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
65
56
  const appModulePath = (0, schematics_2.getAppModulePath)(host, (0, schematics_2.getProjectMainFile)(project));
66
- if (options.animations) {
57
+ if (options.animations === 'enabled') {
67
58
  // In case the project explicitly uses the NoopAnimationsModule, we should print a warning
68
59
  // message that makes the user aware of the fact that we won't automatically set up
69
60
  // animations. If we would add the BrowserAnimationsModule while the NoopAnimationsModule
@@ -72,24 +63,26 @@ function addAnimationsModule(options) {
72
63
  context.logger.error(`Could not set up "${browserAnimationsModuleName}" ` +
73
64
  `because "${noopAnimationsModuleName}" is already imported.`);
74
65
  context.logger.info(`Please manually set up browser animations.`);
75
- return;
76
66
  }
77
- (0, schematics_2.addModuleImportToRootModule)(host, browserAnimationsModuleName, '@angular/platform-browser/animations', project);
67
+ else {
68
+ (0, schematics_2.addModuleImportToRootModule)(host, browserAnimationsModuleName, '@angular/platform-browser/animations', project);
69
+ }
78
70
  }
79
- else if (!(0, schematics_2.hasNgModuleImport)(host, appModulePath, browserAnimationsModuleName)) {
71
+ else if (options.animations === 'disabled' &&
72
+ !(0, schematics_2.hasNgModuleImport)(host, appModulePath, browserAnimationsModuleName)) {
80
73
  // Do not add the NoopAnimationsModule module if the project already explicitly uses
81
74
  // the BrowserAnimationsModule.
82
75
  (0, schematics_2.addModuleImportToRootModule)(host, noopAnimationsModuleName, '@angular/platform-browser/animations', project);
83
76
  }
84
- });
77
+ };
85
78
  }
86
79
  /**
87
80
  * Adds custom Material styles to the project style file. The custom CSS sets up the Roboto font
88
81
  * and reset the default browser body margin.
89
82
  */
90
83
  function addMaterialAppStyles(options) {
91
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
92
- const workspace = yield (0, workspace_1.getWorkspace)(host);
84
+ return async (host, context) => {
85
+ const workspace = await (0, workspace_1.getWorkspace)(host);
93
86
  const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
94
87
  const styleFilePath = (0, schematics_2.getProjectStyleFile)(project);
95
88
  const logger = context.logger;
@@ -115,6 +108,6 @@ function addMaterialAppStyles(options) {
115
108
  const recorder = host.beginUpdate(styleFilePath);
116
109
  recorder.insertLeft(htmlContent.length, insertion);
117
110
  host.commitUpdate(recorder);
118
- });
111
+ };
119
112
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zY2hlbWF0aWNzL25nLWFkZC9zZXR1cC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7O0FBRUgsMkRBQStFO0FBQy9FLHdEQU9pQztBQUNqQyxxRUFBbUU7QUFDbkUsbUZBQXlFO0FBQ3pFLDJEQUF1RDtBQUV2RCwrQ0FBMEU7QUFFMUUsMEVBQTBFO0FBQzFFLE1BQU0sMkJBQTJCLEdBQUcseUJBQXlCLENBQUM7QUFFOUQsb0ZBQW9GO0FBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxtQkFBeUIsT0FBZTtJQUN0QyxPQUFPLENBQU8sSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFBLG9DQUF1QixFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsS0FBSyw4QkFBVyxDQUFDLFdBQVcsRUFBRTtZQUM5RCxPQUFPLElBQUEsa0JBQUssRUFBQztnQkFDWCxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7Z0JBQzVCLElBQUEsNkJBQW1CLEVBQUMsT0FBTyxDQUFDO2dCQUM1QixJQUFBLGdDQUFlLEVBQUMsT0FBTyxDQUFDO2dCQUN4QixvQkFBb0IsQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLElBQUEsNEJBQWtCLEVBQUMsT0FBTyxDQUFDO2FBQzVCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2pCLG1GQUFtRjtZQUNqRixzRUFBc0U7WUFDdEUsb0ZBQW9G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QUFPO1NBQ1I7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpELFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2NoYWluLCBSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUsXG4gIGdldEFwcE1vZHVsZVBhdGgsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0TWFpbkZpbGUsXG4gIGdldFByb2plY3RTdHlsZUZpbGUsXG4gIGhhc05nTW9kdWxlSW1wb3J0LFxufSBmcm9tICdAYW5ndWxhci9jZGsvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFdvcmtzcGFjZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQge1Byb2plY3RUeXBlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQge2FkZEZvbnRzVG9JbmRleH0gZnJvbSAnLi9mb250cy9tYXRlcmlhbC1mb250cyc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHthZGRUaGVtZVRvQXBwU3R5bGVzLCBhZGRUeXBvZ3JhcGh5Q2xhc3N9IGZyb20gJy4vdGhlbWluZy90aGVtaW5nJztcblxuLyoqIE5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIHRoYXQgZW5hYmxlcyBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucy4gKi9cbmNvbnN0IGJyb3dzZXJBbmltYXRpb25zTW9kdWxlTmFtZSA9ICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZSc7XG5cbi8qKiBOYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBzd2l0Y2hlcyBBbmd1bGFyIGFuaW1hdGlvbnMgdG8gYSBub29wIGltcGxlbWVudGF0aW9uLiAqL1xuY29uc3Qgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lID0gJ05vb3BBbmltYXRpb25zTW9kdWxlJztcblxuLyoqXG4gKiBTY2FmZm9sZHMgdGhlIGJhc2ljcyBvZiBhIEFuZ3VsYXIgTWF0ZXJpYWwgYXBwbGljYXRpb24sIHRoaXMgaW5jbHVkZXM6XG4gKiAgLSBBZGQgUGFja2FnZXMgdG8gcGFja2FnZS5qc29uXG4gKiAgLSBBZGRzIHByZS1idWlsdCB0aGVtZXMgdG8gc3R5bGVzLmV4dFxuICogIC0gQWRkcyBCcm93c2VyIEFuaW1hdGlvbiB0byBhcHAubW9kdWxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBTY2hlbWEpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG5cbiAgICBpZiAocHJvamVjdC5leHRlbnNpb25zLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5BcHBsaWNhdGlvbikge1xuICAgICAgcmV0dXJuIGNoYWluKFtcbiAgICAgICAgYWRkQW5pbWF0aW9uc01vZHVsZShvcHRpb25zKSxcbiAgICAgICAgYWRkVGhlbWVUb0FwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkRm9udHNUb0luZGV4KG9wdGlvbnMpLFxuICAgICAgICBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkVHlwb2dyYXBoeUNsYXNzKG9wdGlvbnMpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAnQW5ndWxhciBNYXRlcmlhbCBoYXMgYmVlbiBzZXQgdXAgaW4geW91ciB3b3Jrc3BhY2UuIFRoZXJlIGlzIG5vIGFkZGl0aW9uYWwgc2V0dXAgJyArXG4gICAgICAgICdyZXF1aXJlZCBmb3IgY29uc3VtaW5nIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBsaWJyYXJ5IHByb2plY3QuXFxuXFxuJyArXG4gICAgICAgICdJZiB5b3UgaW50ZW5kZWQgdG8gcnVuIHRoZSBzY2hlbWF0aWMgb24gYSBkaWZmZXJlbnQgcHJvamVjdCwgcGFzcyB0aGUgYC0tcHJvamVjdGAgJyArXG4gICAgICAgICdvcHRpb24uJyxcbiAgICApO1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFuaW1hdGlvbiBtb2R1bGUgdG8gdGhlIHJvb3QgbW9kdWxlIG9mIHRoZSBzcGVjaWZpZWQgcHJvamVjdC4gSW4gY2FzZSB0aGUgXCJhbmltYXRpb25zXCJcbiAqIG9wdGlvbiBpcyBzZXQgdG8gZmFsc2UsIHdlIHN0aWxsIGFkZCB0aGUgYE5vb3BBbmltYXRpb25zTW9kdWxlYCBiZWNhdXNlIG90aGVyd2lzZSB2YXJpb3VzXG4gKiBjb21wb25lbnRzIG9mIEFuZ3VsYXIgTWF0ZXJpYWwgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24uXG4gKi9cbmZ1bmN0aW9uIGFkZEFuaW1hdGlvbnNNb2R1bGUob3B0aW9uczogU2NoZW1hKSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IGFwcE1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0KSk7XG5cbiAgICBpZiAob3B0aW9ucy5hbmltYXRpb25zKSB7XG4gICAgICAvLyBJbiBjYXNlIHRoZSBwcm9qZWN0IGV4cGxpY2l0bHkgdXNlcyB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUsIHdlIHNob3VsZCBwcmludCBhIHdhcm5pbmdcbiAgICAgIC8vIG1lc3NhZ2UgdGhhdCBtYWtlcyB0aGUgdXNlciBhd2FyZSBvZiB0aGUgZmFjdCB0aGF0IHdlIHdvbid0IGF1dG9tYXRpY2FsbHkgc2V0IHVwXG4gICAgICAvLyBhbmltYXRpb25zLiBJZiB3ZSB3b3VsZCBhZGQgdGhlIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIHdoaWxlIHRoZSBOb29wQW5pbWF0aW9uc01vZHVsZVxuICAgICAgLy8gaXMgYWxyZWFkeSBjb25maWd1cmVkLCB3ZSB3b3VsZCBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yIGFuZCBydW50aW1lIGV4Y2VwdGlvbnMuXG4gICAgICBpZiAoaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lKSkge1xuICAgICAgICBjb250ZXh0LmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IHNldCB1cCBcIiR7YnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lfVwiIGAgK1xuICAgICAgICAgICAgYGJlY2F1c2UgXCIke25vb3BBbmltYXRpb25zTW9kdWxlTmFtZX1cIiBpcyBhbHJlYWR5IGltcG9ydGVkLmAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmluZm8oYFBsZWFzZSBtYW51YWxseSBzZXQgdXAgYnJvd3NlciBhbmltYXRpb25zLmApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFkZE1vZHVsZUltcG9ydFRvUm9vdE1vZHVsZShcbiAgICAgICAgaG9zdCxcbiAgICAgICAgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lLFxuICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJyxcbiAgICAgICAgcHJvamVjdCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lKSkge1xuICAgICAgLy8gRG8gbm90IGFkZCB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUgbW9kdWxlIGlmIHRoZSBwcm9qZWN0IGFscmVhZHkgZXhwbGljaXRseSB1c2VzXG4gICAgICAvLyB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUuXG4gICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgIGhvc3QsXG4gICAgICAgIG5vb3BBbmltYXRpb25zTW9kdWxlTmFtZSxcbiAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgIHByb2plY3QsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGN1c3RvbSBNYXRlcmlhbCBzdHlsZXMgdG8gdGhlIHByb2plY3Qgc3R5bGUgZmlsZS4gVGhlIGN1c3RvbSBDU1Mgc2V0cyB1cCB0aGUgUm9ib3RvIGZvbnRcbiAqIGFuZCByZXNldCB0aGUgZGVmYXVsdCBicm93c2VyIGJvZHkgbWFyZ2luLlxuICovXG5mdW5jdGlvbiBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zOiBTY2hlbWEpIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG4gICAgY29uc3Qgc3R5bGVGaWxlUGF0aCA9IGdldFByb2plY3RTdHlsZUZpbGUocHJvamVjdCk7XG4gICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXI7XG5cbiAgICBpZiAoIXN0eWxlRmlsZVBhdGgpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGRlZmF1bHQgc3R5bGUgZmlsZSBmb3IgdGhpcyBwcm9qZWN0LmApO1xuICAgICAgbG9nZ2VyLmluZm8oYENvbnNpZGVyIG1hbnVhbGx5IGFkZGluZyB0aGUgUm9ib3RvIGZvbnQgdG8geW91ciBDU1MuYCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTW9yZSBpbmZvcm1hdGlvbiBhdCBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vUm9ib3RvYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gaG9zdC5yZWFkKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgaWYgKCFidWZmZXIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZWFkIHRoZSBkZWZhdWx0IHN0eWxlIGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0IGAgKyBgKCR7c3R5bGVGaWxlUGF0aH0pYCxcbiAgICAgICk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIGNvbnNpZGVyIG1hbnVhbGx5IHNldHRpbmcgdXAgdGhlIFJvYm90byBmb250LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYnVmZmVyLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW5zZXJ0aW9uID1cbiAgICAgICdcXG4nICtcbiAgICAgIGBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XFxuYCArXG4gICAgICBgYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyB9XFxuYDtcblxuICAgIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhpbnNlcnRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChodG1sQ29udGVudC5sZW5ndGgsIGluc2VydGlvbik7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuICB9O1xufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zY2hlbWF0aWNzL25nLWFkZC9zZXR1cC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBQStFO0FBQy9FLHdEQU9pQztBQUNqQyxxRUFBbUU7QUFDbkUsbUZBQXlFO0FBQ3pFLDJEQUF1RDtBQUV2RCwrQ0FBMEU7QUFFMUUsMEVBQTBFO0FBQzFFLE1BQU0sMkJBQTJCLEdBQUcseUJBQXlCLENBQUM7QUFFOUQsb0ZBQW9GO0FBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxtQkFBeUIsT0FBZTtJQUN0QyxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1FBQ3JELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQXVCLEVBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxLQUFLLDhCQUFXLENBQUMsV0FBVyxFQUFFO1lBQzlELE9BQU8sSUFBQSxrQkFBSyxFQUFDO2dCQUNYLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDNUIsSUFBQSw2QkFBbUIsRUFBQyxPQUFPLENBQUM7Z0JBQzVCLElBQUEsZ0NBQWUsRUFBQyxPQUFPLENBQUM7Z0JBQ3hCLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztnQkFDN0IsSUFBQSw0QkFBa0IsRUFBQyxPQUFPLENBQUM7YUFDNUIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsbUZBQW1GO1lBQ2pGLHNFQUFzRTtZQUN0RSxvRkFBb0Y7WUFD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LENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25DLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFakQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2NoYWluLCBSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUsXG4gIGdldEFwcE1vZHVsZVBhdGgsXG4gIGdldFByb2plY3RGcm9tV29ya3NwYWNlLFxuICBnZXRQcm9qZWN0TWFpbkZpbGUsXG4gIGdldFByb2plY3RTdHlsZUZpbGUsXG4gIGhhc05nTW9kdWxlSW1wb3J0LFxufSBmcm9tICdAYW5ndWxhci9jZGsvc2NoZW1hdGljcyc7XG5pbXBvcnQge2dldFdvcmtzcGFjZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQge1Byb2plY3RUeXBlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQge2FkZEZvbnRzVG9JbmRleH0gZnJvbSAnLi9mb250cy9tYXRlcmlhbC1mb250cyc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHthZGRUaGVtZVRvQXBwU3R5bGVzLCBhZGRUeXBvZ3JhcGh5Q2xhc3N9IGZyb20gJy4vdGhlbWluZy90aGVtaW5nJztcblxuLyoqIE5hbWUgb2YgdGhlIEFuZ3VsYXIgbW9kdWxlIHRoYXQgZW5hYmxlcyBBbmd1bGFyIGJyb3dzZXIgYW5pbWF0aW9ucy4gKi9cbmNvbnN0IGJyb3dzZXJBbmltYXRpb25zTW9kdWxlTmFtZSA9ICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZSc7XG5cbi8qKiBOYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBzd2l0Y2hlcyBBbmd1bGFyIGFuaW1hdGlvbnMgdG8gYSBub29wIGltcGxlbWVudGF0aW9uLiAqL1xuY29uc3Qgbm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lID0gJ05vb3BBbmltYXRpb25zTW9kdWxlJztcblxuLyoqXG4gKiBTY2FmZm9sZHMgdGhlIGJhc2ljcyBvZiBhIEFuZ3VsYXIgTWF0ZXJpYWwgYXBwbGljYXRpb24sIHRoaXMgaW5jbHVkZXM6XG4gKiAgLSBBZGQgUGFja2FnZXMgdG8gcGFja2FnZS5qc29uXG4gKiAgLSBBZGRzIHByZS1idWlsdCB0aGVtZXMgdG8gc3R5bGVzLmV4dFxuICogIC0gQWRkcyBCcm93c2VyIEFuaW1hdGlvbiB0byBhcHAubW9kdWxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBTY2hlbWEpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG5cbiAgICBpZiAocHJvamVjdC5leHRlbnNpb25zLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5BcHBsaWNhdGlvbikge1xuICAgICAgcmV0dXJuIGNoYWluKFtcbiAgICAgICAgYWRkQW5pbWF0aW9uc01vZHVsZShvcHRpb25zKSxcbiAgICAgICAgYWRkVGhlbWVUb0FwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkRm9udHNUb0luZGV4KG9wdGlvbnMpLFxuICAgICAgICBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zKSxcbiAgICAgICAgYWRkVHlwb2dyYXBoeUNsYXNzKG9wdGlvbnMpLFxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAnQW5ndWxhciBNYXRlcmlhbCBoYXMgYmVlbiBzZXQgdXAgaW4geW91ciB3b3Jrc3BhY2UuIFRoZXJlIGlzIG5vIGFkZGl0aW9uYWwgc2V0dXAgJyArXG4gICAgICAgICdyZXF1aXJlZCBmb3IgY29uc3VtaW5nIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBsaWJyYXJ5IHByb2plY3QuXFxuXFxuJyArXG4gICAgICAgICdJZiB5b3UgaW50ZW5kZWQgdG8gcnVuIHRoZSBzY2hlbWF0aWMgb24gYSBkaWZmZXJlbnQgcHJvamVjdCwgcGFzcyB0aGUgYC0tcHJvamVjdGAgJyArXG4gICAgICAgICdvcHRpb24uJyxcbiAgICApO1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFuaW1hdGlvbiBtb2R1bGUgdG8gdGhlIHJvb3QgbW9kdWxlIG9mIHRoZSBzcGVjaWZpZWQgcHJvamVjdC4gSW4gY2FzZSB0aGUgXCJhbmltYXRpb25zXCJcbiAqIG9wdGlvbiBpcyBzZXQgdG8gZmFsc2UsIHdlIHN0aWxsIGFkZCB0aGUgYE5vb3BBbmltYXRpb25zTW9kdWxlYCBiZWNhdXNlIG90aGVyd2lzZSB2YXJpb3VzXG4gKiBjb21wb25lbnRzIG9mIEFuZ3VsYXIgTWF0ZXJpYWwgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24uXG4gKi9cbmZ1bmN0aW9uIGFkZEFuaW1hdGlvbnNNb2R1bGUob3B0aW9uczogU2NoZW1hKSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IGFwcE1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0KSk7XG5cbiAgICBpZiAob3B0aW9ucy5hbmltYXRpb25zID09PSAnZW5hYmxlZCcpIHtcbiAgICAgIC8vIEluIGNhc2UgdGhlIHByb2plY3QgZXhwbGljaXRseSB1c2VzIHRoZSBOb29wQW5pbWF0aW9uc01vZHVsZSwgd2Ugc2hvdWxkIHByaW50IGEgd2FybmluZ1xuICAgICAgLy8gbWVzc2FnZSB0aGF0IG1ha2VzIHRoZSB1c2VyIGF3YXJlIG9mIHRoZSBmYWN0IHRoYXQgd2Ugd29uJ3QgYXV0b21hdGljYWxseSBzZXQgdXBcbiAgICAgIC8vIGFuaW1hdGlvbnMuIElmIHdlIHdvdWxkIGFkZCB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgd2hpbGUgdGhlIE5vb3BBbmltYXRpb25zTW9kdWxlXG4gICAgICAvLyBpcyBhbHJlYWR5IGNvbmZpZ3VyZWQsIHdlIHdvdWxkIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IgYW5kIHJ1bnRpbWUgZXhjZXB0aW9ucy5cbiAgICAgIGlmIChoYXNOZ01vZHVsZUltcG9ydChob3N0LCBhcHBNb2R1bGVQYXRoLCBub29wQW5pbWF0aW9uc01vZHVsZU5hbWUpKSB7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3Qgc2V0IHVwIFwiJHticm93c2VyQW5pbWF0aW9uc01vZHVsZU5hbWV9XCIgYCArXG4gICAgICAgICAgICBgYmVjYXVzZSBcIiR7bm9vcEFuaW1hdGlvbnNNb2R1bGVOYW1lfVwiIGlzIGFscmVhZHkgaW1wb3J0ZWQuYCxcbiAgICAgICAgKTtcbiAgICAgICAgY29udGV4dC5sb2dnZXIuaW5mbyhgUGxlYXNlIG1hbnVhbGx5IHNldCB1cCBicm93c2VyIGFuaW1hdGlvbnMuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgICAgaG9zdCxcbiAgICAgICAgICBicm93c2VyQW5pbWF0aW9uc01vZHVsZU5hbWUsXG4gICAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgb3B0aW9ucy5hbmltYXRpb25zID09PSAnZGlzYWJsZWQnICYmXG4gICAgICAhaGFzTmdNb2R1bGVJbXBvcnQoaG9zdCwgYXBwTW9kdWxlUGF0aCwgYnJvd3NlckFuaW1hdGlvbnNNb2R1bGVOYW1lKVxuICAgICkge1xuICAgICAgLy8gRG8gbm90IGFkZCB0aGUgTm9vcEFuaW1hdGlvbnNNb2R1bGUgbW9kdWxlIGlmIHRoZSBwcm9qZWN0IGFscmVhZHkgZXhwbGljaXRseSB1c2VzXG4gICAgICAvLyB0aGUgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUuXG4gICAgICBhZGRNb2R1bGVJbXBvcnRUb1Jvb3RNb2R1bGUoXG4gICAgICAgIGhvc3QsXG4gICAgICAgIG5vb3BBbmltYXRpb25zTW9kdWxlTmFtZSxcbiAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucycsXG4gICAgICAgIHByb2plY3QsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIGN1c3RvbSBNYXRlcmlhbCBzdHlsZXMgdG8gdGhlIHByb2plY3Qgc3R5bGUgZmlsZS4gVGhlIGN1c3RvbSBDU1Mgc2V0cyB1cCB0aGUgUm9ib3RvIGZvbnRcbiAqIGFuZCByZXNldCB0aGUgZGVmYXVsdCBicm93c2VyIGJvZHkgbWFyZ2luLlxuICovXG5mdW5jdGlvbiBhZGRNYXRlcmlhbEFwcFN0eWxlcyhvcHRpb25zOiBTY2hlbWEpIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IHByb2plY3QgPSBnZXRQcm9qZWN0RnJvbVdvcmtzcGFjZSh3b3Jrc3BhY2UsIG9wdGlvbnMucHJvamVjdCk7XG4gICAgY29uc3Qgc3R5bGVGaWxlUGF0aCA9IGdldFByb2plY3RTdHlsZUZpbGUocHJvamVjdCk7XG4gICAgY29uc3QgbG9nZ2VyID0gY29udGV4dC5sb2dnZXI7XG5cbiAgICBpZiAoIXN0eWxlRmlsZVBhdGgpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgQ291bGQgbm90IGZpbmQgdGhlIGRlZmF1bHQgc3R5bGUgZmlsZSBmb3IgdGhpcyBwcm9qZWN0LmApO1xuICAgICAgbG9nZ2VyLmluZm8oYENvbnNpZGVyIG1hbnVhbGx5IGFkZGluZyB0aGUgUm9ib3RvIGZvbnQgdG8geW91ciBDU1MuYCk7XG4gICAgICBsb2dnZXIuaW5mbyhgTW9yZSBpbmZvcm1hdGlvbiBhdCBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vUm9ib3RvYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gaG9zdC5yZWFkKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgaWYgKCFidWZmZXIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZWFkIHRoZSBkZWZhdWx0IHN0eWxlIGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0IGAgKyBgKCR7c3R5bGVGaWxlUGF0aH0pYCxcbiAgICAgICk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIGNvbnNpZGVyIG1hbnVhbGx5IHNldHRpbmcgdXAgdGhlIFJvYm90byBmb250LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGh0bWxDb250ZW50ID0gYnVmZmVyLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgaW5zZXJ0aW9uID1cbiAgICAgICdcXG4nICtcbiAgICAgIGBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XFxuYCArXG4gICAgICBgYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmOyB9XFxuYDtcblxuICAgIGlmIChodG1sQ29udGVudC5pbmNsdWRlcyhpbnNlcnRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKHN0eWxlRmlsZVBhdGgpO1xuXG4gICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChodG1sQ29udGVudC5sZW5ndGgsIGluc2VydGlvbik7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuICB9O1xufVxuIl19