@sd-angular/core 1.3.149 → 1.3.151

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 (658) hide show
  1. package/api/sd-angular-core-api.metadata.json +1 -1
  2. package/api/src/lib/api.service.d.ts +1 -5
  3. package/assets/img/file-types/eps/001-file.eps +143 -143
  4. package/assets/img/file-types/eps/002-file-1.eps +136 -136
  5. package/assets/img/file-types/eps/003-file-2.eps +130 -130
  6. package/assets/img/file-types/eps/004-file-3.eps +127 -127
  7. package/assets/img/file-types/eps/005-file-4.eps +120 -120
  8. package/assets/img/file-types/eps/006-file-5.eps +133 -133
  9. package/assets/img/file-types/eps/007-file-6.eps +133 -133
  10. package/assets/img/file-types/eps/008-file-7.eps +144 -144
  11. package/assets/img/file-types/eps/009-file-8.eps +150 -150
  12. package/assets/img/file-types/eps/010-file-9.eps +155 -155
  13. package/assets/img/file-types/eps/011-file-10.eps +124 -124
  14. package/assets/img/file-types/eps/012-file-11.eps +147 -147
  15. package/assets/img/file-types/eps/013-file-12.eps +125 -125
  16. package/assets/img/file-types/eps/014-file-13.eps +129 -129
  17. package/assets/img/file-types/eps/015-file-14.eps +143 -143
  18. package/assets/img/file-types/eps/016-file-15.eps +130 -130
  19. package/assets/img/file-types/eps/017-file-16.eps +197 -197
  20. package/assets/img/file-types/eps/018-file-17.eps +146 -146
  21. package/assets/img/file-types/eps/019-file-18.eps +131 -131
  22. package/assets/img/file-types/eps/020-file-19.eps +137 -137
  23. package/assets/img/file-types/eps/021-file-20.eps +134 -134
  24. package/assets/img/file-types/eps/022-file-21.eps +130 -130
  25. package/assets/img/file-types/eps/023-file-22.eps +161 -161
  26. package/assets/img/file-types/eps/024-file-23.eps +144 -144
  27. package/assets/img/file-types/eps/025-file-24.eps +164 -164
  28. package/assets/img/file-types/eps/026-file-25.eps +135 -135
  29. package/assets/img/file-types/eps/027-file-26.eps +124 -124
  30. package/assets/img/file-types/eps/028-file-27.eps +120 -120
  31. package/assets/img/file-types/eps/029-file-28.eps +141 -141
  32. package/assets/img/file-types/eps/030-file-29.eps +130 -130
  33. package/assets/img/file-types/eps/031-file-30.eps +157 -157
  34. package/assets/img/file-types/eps/032-file-31.eps +139 -139
  35. package/assets/img/file-types/eps/033-file-32.eps +139 -139
  36. package/assets/img/file-types/eps/034-file-33.eps +189 -189
  37. package/assets/img/file-types/eps/035-file-34.eps +162 -162
  38. package/assets/img/file-types/eps/036-file-35.eps +142 -142
  39. package/assets/img/file-types/eps/037-file-36.eps +123 -123
  40. package/assets/img/file-types/eps/038-file-37.eps +127 -127
  41. package/assets/img/file-types/eps/039-file-38.eps +146 -146
  42. package/assets/img/file-types/eps/040-file-39.eps +126 -126
  43. package/assets/img/file-types/eps/041-file-40.eps +117 -117
  44. package/assets/img/file-types/eps/042-file-41.eps +156 -156
  45. package/assets/img/file-types/eps/043-file-42.eps +118 -118
  46. package/assets/img/file-types/eps/044-file-43.eps +172 -172
  47. package/assets/img/file-types/eps/045-file-44.eps +201 -201
  48. package/assets/img/file-types/eps/046-file-45.eps +94 -94
  49. package/assets/img/file-types/eps/047-file-46.eps +176 -176
  50. package/assets/img/file-types/eps/048-file-47.eps +238 -238
  51. package/assets/img/file-types/eps/049-file-48.eps +187 -187
  52. package/assets/img/file-types/eps/050-file-49.eps +137 -137
  53. package/bundles/sd-angular-core-api.umd.js +27 -59
  54. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  55. package/bundles/sd-angular-core-api.umd.min.js +1 -1
  56. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  57. package/bundles/sd-angular-core-common.umd.js +92 -0
  58. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  59. package/bundles/sd-angular-core-common.umd.min.js +1 -1
  60. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  61. package/bundles/sd-angular-core-input-dropdown.umd.js +9 -12
  62. package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
  63. package/bundles/sd-angular-core-input-dropdown.umd.min.js +2 -2
  64. package/bundles/sd-angular-core-input-dropdown.umd.min.js.map +1 -1
  65. package/bundles/sd-angular-core-table.umd.js +585 -991
  66. package/bundles/sd-angular-core-table.umd.js.map +1 -1
  67. package/bundles/sd-angular-core-table.umd.min.js +1 -1
  68. package/bundles/sd-angular-core-table.umd.min.js.map +1 -1
  69. package/bundles/sd-angular-core-utility.umd.js +10 -56
  70. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  71. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  72. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  73. package/common/sd-angular-core-common.d.ts +1 -0
  74. package/common/sd-angular-core-common.metadata.json +1 -1
  75. package/common/src/lib/directives/sd-for.directive.d.ts +16 -0
  76. package/esm2015/api/index.js +1 -1
  77. package/esm2015/api/sd-angular-core-api.js +1 -1
  78. package/esm2015/api/src/lib/api.model.js +1 -1
  79. package/esm2015/api/src/lib/api.module.js +1 -1
  80. package/esm2015/api/src/lib/api.service.js +3 -36
  81. package/esm2015/api/src/lib/http.interceptor.js +1 -1
  82. package/esm2015/api/src/lib/http.service.js +1 -1
  83. package/esm2015/api/src/lib/token.service.js +1 -1
  84. package/esm2015/api/src/public-api.js +1 -1
  85. package/esm2015/autocomplete/index.js +1 -1
  86. package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
  87. package/esm2015/autocomplete/src/lib/autocomplete-display-def.directive.js +1 -1
  88. package/esm2015/autocomplete/src/lib/autocomplete.component.js +1 -1
  89. package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -1
  90. package/esm2015/autocomplete/src/public-api.js +1 -1
  91. package/esm2015/badge/index.js +1 -1
  92. package/esm2015/badge/sd-angular-core-badge.js +1 -1
  93. package/esm2015/badge/src/lib/badge.component.js +1 -1
  94. package/esm2015/badge/src/lib/badge.module.js +1 -1
  95. package/esm2015/badge/src/public-api.js +1 -1
  96. package/esm2015/button/index.js +1 -1
  97. package/esm2015/button/sd-angular-core-button.js +1 -1
  98. package/esm2015/button/src/lib/button.component.js +1 -1
  99. package/esm2015/button/src/lib/button.module.js +1 -1
  100. package/esm2015/button/src/public-api.js +1 -1
  101. package/esm2015/cache/index.js +1 -1
  102. package/esm2015/cache/sd-angular-core-cache.js +1 -1
  103. package/esm2015/cache/src/lib/cache.model.js +1 -1
  104. package/esm2015/cache/src/lib/cache.service.js +1 -1
  105. package/esm2015/cache/src/public-api.js +1 -1
  106. package/esm2015/chart/index.js +1 -1
  107. package/esm2015/chart/sd-angular-core-chart.js +1 -1
  108. package/esm2015/chart/src/lib/chart.component.js +1 -1
  109. package/esm2015/chart/src/lib/chart.model.js +1 -1
  110. package/esm2015/chart/src/lib/chart.module.js +1 -1
  111. package/esm2015/chart/src/public-api.js +1 -1
  112. package/esm2015/checkbox/index.js +1 -1
  113. package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
  114. package/esm2015/checkbox/src/lib/checkbox.component.js +1 -1
  115. package/esm2015/checkbox/src/lib/checkbox.module.js +1 -1
  116. package/esm2015/checkbox/src/public-api.js +1 -1
  117. package/esm2015/chip/index.js +1 -1
  118. package/esm2015/chip/sd-angular-core-chip.js +1 -1
  119. package/esm2015/chip/src/lib/chip.component.js +1 -1
  120. package/esm2015/chip/src/lib/chip.model.js +1 -1
  121. package/esm2015/chip/src/lib/chip.module.js +1 -1
  122. package/esm2015/chip/src/lib/directives/sd-chip-display-def.directive.js +1 -1
  123. package/esm2015/chip/src/lib/pipes/removable-chip.pipe.js +1 -1
  124. package/esm2015/chip/src/public-api.js +1 -1
  125. package/esm2015/comment/index.js +1 -1
  126. package/esm2015/comment/sd-angular-core-comment.js +1 -1
  127. package/esm2015/comment/src/lib/comment.component.js +1 -1
  128. package/esm2015/comment/src/lib/comment.model.js +1 -1
  129. package/esm2015/comment/src/lib/comment.module.js +1 -1
  130. package/esm2015/comment/src/public-api.js +1 -1
  131. package/esm2015/common/index.js +1 -1
  132. package/esm2015/common/sd-angular-core-common.js +2 -1
  133. package/esm2015/common/src/lib/common.module.js +4 -1
  134. package/esm2015/common/src/lib/configurations/firebase.configuration.js +1 -1
  135. package/esm2015/common/src/lib/configurations/form.configuration.js +1 -1
  136. package/esm2015/common/src/lib/directives/sd-for.directive.js +82 -0
  137. package/esm2015/common/src/lib/directives/sd-lable.directive.js +1 -1
  138. package/esm2015/common/src/lib/directives/sd-let.directive.js +1 -1
  139. package/esm2015/common/src/lib/directives/sd-scroll.directive.js +1 -1
  140. package/esm2015/common/src/lib/directives/sd-suffix.directive.js +1 -1
  141. package/esm2015/common/src/lib/directives/view-def.directive.js +1 -1
  142. package/esm2015/common/src/lib/models/sd-form-control.js +1 -1
  143. package/esm2015/common/src/lib/others/detectIncognito.js +1 -1
  144. package/esm2015/common/src/lib/services/browser.service.js +1 -1
  145. package/esm2015/common/src/lib/typings/array.extension.js +1 -1
  146. package/esm2015/common/src/lib/typings/date.extension.js +1 -1
  147. package/esm2015/common/src/lib/typings/index.js +1 -1
  148. package/esm2015/common/src/lib/typings/number.extension.js +1 -1
  149. package/esm2015/common/src/lib/typings/string.extension.js +1 -1
  150. package/esm2015/common/src/lib/typings/utility.extension.js +1 -1
  151. package/esm2015/common/src/public-api.js +1 -1
  152. package/esm2015/confirm/index.js +1 -1
  153. package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
  154. package/esm2015/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  155. package/esm2015/confirm/src/lib/confirm.module.js +1 -1
  156. package/esm2015/confirm/src/lib/confirm.service.js +1 -1
  157. package/esm2015/confirm/src/public-api.js +1 -1
  158. package/esm2015/date-month/index.js +1 -1
  159. package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
  160. package/esm2015/date-month/src/lib/date-month.component.js +1 -1
  161. package/esm2015/date-month/src/lib/date-month.module.js +1 -1
  162. package/esm2015/date-month/src/public-api.js +1 -1
  163. package/esm2015/date-range/index.js +1 -1
  164. package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
  165. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  166. package/esm2015/date-range/src/lib/date-range.module.js +1 -1
  167. package/esm2015/date-range/src/public-api.js +1 -1
  168. package/esm2015/date-time/index.js +1 -1
  169. package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
  170. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  171. package/esm2015/date-time/src/lib/date-time.module.js +1 -1
  172. package/esm2015/date-time/src/public-api.js +1 -1
  173. package/esm2015/db/index.js +1 -1
  174. package/esm2015/db/sd-angular-core-db.js +1 -1
  175. package/esm2015/db/src/lib/db.model.js +1 -1
  176. package/esm2015/db/src/lib/db.service.js +1 -1
  177. package/esm2015/db/src/public-api.js +1 -1
  178. package/esm2015/dynamic-report/index.js +1 -1
  179. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
  180. package/esm2015/dynamic-report/src/lib/dynamic-report.component.js +1 -1
  181. package/esm2015/dynamic-report/src/lib/dynamic-report.module.js +1 -1
  182. package/esm2015/dynamic-report/src/public-api.js +1 -1
  183. package/esm2015/editor/index.js +1 -1
  184. package/esm2015/editor/sd-angular-core-editor.js +1 -1
  185. package/esm2015/editor/src/lib/constant.js +1 -1
  186. package/esm2015/editor/src/lib/editor.component.js +1 -1
  187. package/esm2015/editor/src/lib/editor.model.js +1 -1
  188. package/esm2015/editor/src/lib/editor.module.js +1 -1
  189. package/esm2015/editor/src/public-api.js +1 -1
  190. package/esm2015/export/index.js +1 -1
  191. package/esm2015/export/sd-angular-core-export.js +1 -1
  192. package/esm2015/export/src/lib/excel.model.js +1 -1
  193. package/esm2015/export/src/lib/export.model.js +1 -1
  194. package/esm2015/export/src/lib/export.service.js +1 -1
  195. package/esm2015/export/src/public-api.js +1 -1
  196. package/esm2015/filter/index.js +1 -1
  197. package/esm2015/filter/sd-angular-core-filter.js +1 -1
  198. package/esm2015/filter/src/lib/directives/sd-filter-def.directive.js +1 -1
  199. package/esm2015/filter/src/lib/filter.component.js +1 -1
  200. package/esm2015/filter/src/lib/filter.model.js +1 -1
  201. package/esm2015/filter/src/lib/filter.module.js +1 -1
  202. package/esm2015/filter/src/lib/filter.service.js +1 -1
  203. package/esm2015/filter/src/lib/pipes/values-local.pipe.js +1 -1
  204. package/esm2015/filter/src/lib/pipes/values-server.pipe.js +1 -1
  205. package/esm2015/filter/src/public-api.js +1 -1
  206. package/esm2015/form/index.js +1 -1
  207. package/esm2015/form/sd-angular-core-form.js +1 -1
  208. package/esm2015/form/src/lib/form.module.js +1 -1
  209. package/esm2015/form/src/public-api.js +1 -1
  210. package/esm2015/grid/index.js +1 -1
  211. package/esm2015/grid/sd-angular-core-grid.js +1 -1
  212. package/esm2015/grid/src/lib/components/grid-config/grid-config.component.js +1 -1
  213. package/esm2015/grid/src/lib/components/grid-config/grid-config.model.js +1 -1
  214. package/esm2015/grid/src/lib/components/grid-desktop-column-children-view/grid-desktop-column-children-view.component.js +1 -1
  215. package/esm2015/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.js +1 -1
  216. package/esm2015/grid/src/lib/components/grid-desktop-column-view/grid-desktop-column-view.component.js +1 -1
  217. package/esm2015/grid/src/lib/components/grid-desktop-inline-filter/grid-desktop-inline-filter.component.js +1 -1
  218. package/esm2015/grid/src/lib/components/grid-import-excel/grid-import-excel.component.js +1 -1
  219. package/esm2015/grid/src/lib/components/grid-mobile-item-view/grid-mobile-item-view.component.js +1 -1
  220. package/esm2015/grid/src/lib/components/grid-popup-editor/grid-popup-editor.component.js +1 -1
  221. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.component.js +1 -1
  222. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.model.js +1 -1
  223. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.component.js +1 -1
  224. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.model.js +1 -1
  225. package/esm2015/grid/src/lib/components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component.js +1 -1
  226. package/esm2015/grid/src/lib/components/grid-sub-information/grid-sub-information.component.js +1 -1
  227. package/esm2015/grid/src/lib/directives/cell-def.directive.js +1 -1
  228. package/esm2015/grid/src/lib/directives/cell-editor-def.directive.js +1 -1
  229. package/esm2015/grid/src/lib/directives/cell-footer-def.directive.js +1 -1
  230. package/esm2015/grid/src/lib/directives/sub-information-header-def.directive.js +1 -1
  231. package/esm2015/grid/src/lib/grid.component.js +1 -1
  232. package/esm2015/grid/src/lib/grid.model.js +1 -1
  233. package/esm2015/grid/src/lib/grid.module.js +1 -1
  234. package/esm2015/grid/src/lib/models/filter-info.model.js +1 -1
  235. package/esm2015/grid/src/lib/models/grid-configuration.model.js +1 -1
  236. package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -1
  237. package/esm2015/grid/src/lib/models/handler-local.js +1 -1
  238. package/esm2015/grid/src/lib/models/handler.js +1 -1
  239. package/esm2015/grid/src/lib/pipes/cell-desktop-class-name.pipe.js +1 -1
  240. package/esm2015/grid/src/lib/pipes/cell-mobile-class-name.pipe.js +1 -1
  241. package/esm2015/grid/src/lib/pipes/column-command-filter.pipe.js +1 -1
  242. package/esm2015/grid/src/lib/pipes/column-html-template.pipe.js +1 -1
  243. package/esm2015/grid/src/lib/pipes/column-title.pipe.js +1 -1
  244. package/esm2015/grid/src/lib/pipes/column-values.pipe.js +1 -1
  245. package/esm2015/grid/src/lib/pipes/command-disabled.pipe.js +1 -1
  246. package/esm2015/grid/src/lib/pipes/command-filter.pipe.js +1 -1
  247. package/esm2015/grid/src/lib/pipes/command-hidden.pipe.js +1 -1
  248. package/esm2015/grid/src/lib/pipes/command-icon.pipe.js +1 -1
  249. package/esm2015/grid/src/lib/pipes/command-title.pipe.js +1 -1
  250. package/esm2015/grid/src/lib/pipes/dynamic-items.pipe.js +1 -1
  251. package/esm2015/grid/src/lib/pipes/editor-dynamic-item.pipe.js +1 -1
  252. package/esm2015/grid/src/lib/pipes/editor-handler.pipe.js +1 -1
  253. package/esm2015/grid/src/lib/pipes/editor-popup-visible.pipe.js +1 -1
  254. package/esm2015/grid/src/lib/pipes/editor-sub-information-handler.pipe.js +1 -1
  255. package/esm2015/grid/src/lib/pipes/editor-validate.pipe.js +1 -1
  256. package/esm2015/grid/src/lib/pipes/filter-mobile.pipe.js +1 -1
  257. package/esm2015/grid/src/lib/pipes/mobile-command-filter.js +1 -1
  258. package/esm2015/grid/src/lib/pipes/mobile-view-html-template.pipe.js +1 -1
  259. package/esm2015/grid/src/lib/pipes/value-transform.pipe.js +1 -1
  260. package/esm2015/grid/src/public-api.js +1 -1
  261. package/esm2015/grid-material/index.js +1 -1
  262. package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
  263. package/esm2015/grid-material/src/lib/components/column-inline-filter/column-inline-filter.component.js +1 -1
  264. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +1 -1
  265. package/esm2015/grid-material/src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component.js +1 -1
  266. package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +1 -1
  267. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +1 -1
  268. package/esm2015/grid-material/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  269. package/esm2015/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.js +1 -1
  270. package/esm2015/grid-material/src/lib/components/dynamic-column/dynamic-column.component.js +1 -1
  271. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +1 -1
  272. package/esm2015/grid-material/src/lib/components/popup-export/popup-export.component.js +1 -1
  273. package/esm2015/grid-material/src/lib/components/popup-filter/popup-filter.component.js +1 -1
  274. package/esm2015/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +1 -1
  275. package/esm2015/grid-material/src/lib/components/quick-action/quick-action.component.js +1 -1
  276. package/esm2015/grid-material/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  277. package/esm2015/grid-material/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  278. package/esm2015/grid-material/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  279. package/esm2015/grid-material/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  280. package/esm2015/grid-material/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  281. package/esm2015/grid-material/src/lib/functions/calculate-sd-id.js +1 -1
  282. package/esm2015/grid-material/src/lib/grid-material.component.js +1 -1
  283. package/esm2015/grid-material/src/lib/grid-material.module.js +1 -1
  284. package/esm2015/grid-material/src/lib/models/grid-action.model.js +1 -1
  285. package/esm2015/grid-material/src/lib/models/grid-cell.model.js +1 -1
  286. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  287. package/esm2015/grid-material/src/lib/models/grid-command.model.js +1 -1
  288. package/esm2015/grid-material/src/lib/models/grid-config.model.js +1 -1
  289. package/esm2015/grid-material/src/lib/models/grid-configuration.model.js +1 -1
  290. package/esm2015/grid-material/src/lib/models/grid-editor.model.js +1 -1
  291. package/esm2015/grid-material/src/lib/models/grid-export.model.js +1 -1
  292. package/esm2015/grid-material/src/lib/models/grid-group.model.js +1 -1
  293. package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
  294. package/esm2015/grid-material/src/lib/models/grid-reload.model.js +1 -1
  295. package/esm2015/grid-material/src/lib/models/grid-selection.model.js +1 -1
  296. package/esm2015/grid-material/src/lib/models/grid-style.model.js +1 -1
  297. package/esm2015/grid-material/src/lib/models/grid-sub-information.model.js +1 -1
  298. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  299. package/esm2015/grid-material/src/lib/pipes/cell-view.pipe.js +1 -1
  300. package/esm2015/grid-material/src/lib/pipes/column-badge.pipe.js +1 -1
  301. package/esm2015/grid-material/src/lib/pipes/column-children-filter.pipe.js +1 -1
  302. package/esm2015/grid-material/src/lib/pipes/column-html-template.pipe.js +1 -1
  303. package/esm2015/grid-material/src/lib/pipes/column-title.pipe.js +1 -1
  304. package/esm2015/grid-material/src/lib/pipes/column-tooltip.pipe.js +1 -1
  305. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +1 -1
  306. package/esm2015/grid-material/src/lib/pipes/column-values.pipe.js +1 -1
  307. package/esm2015/grid-material/src/lib/pipes/command-disable.pipe.js +1 -1
  308. package/esm2015/grid-material/src/lib/pipes/command-filter.pipe.js +1 -1
  309. package/esm2015/grid-material/src/lib/pipes/command-icon.pipe.js +1 -1
  310. package/esm2015/grid-material/src/lib/pipes/command-title.pipe.js +1 -1
  311. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +1 -1
  312. package/esm2015/grid-material/src/lib/pipes/editor-handler-row.pipe.js +1 -1
  313. package/esm2015/grid-material/src/lib/pipes/editor-validate.pipe.js +1 -1
  314. package/esm2015/grid-material/src/lib/pipes/filter-column.pipe.js +1 -1
  315. package/esm2015/grid-material/src/lib/pipes/filter-external.pipe.js +1 -1
  316. package/esm2015/grid-material/src/lib/pipes/grid-configuration-result.pipe.js +1 -1
  317. package/esm2015/grid-material/src/lib/pipes/sd-group.pipe.js +1 -1
  318. package/esm2015/grid-material/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  319. package/esm2015/grid-material/src/lib/pipes/selection-disable.pipe.js +1 -1
  320. package/esm2015/grid-material/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  321. package/esm2015/grid-material/src/lib/pipes/selection-visible.pipe.js +1 -1
  322. package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +1 -1
  323. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.model.js +1 -1
  324. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +1 -1
  325. package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +1 -1
  326. package/esm2015/grid-material/src/lib/services/grid-filter/grid-filter.model.js +1 -1
  327. package/esm2015/grid-material/src/lib/services/grid-filter/grid-filter.service.js +1 -1
  328. package/esm2015/grid-material/src/public-api.js +1 -1
  329. package/esm2015/group/index.js +1 -1
  330. package/esm2015/group/sd-angular-core-group.js +1 -1
  331. package/esm2015/group/src/lib/group.component.js +1 -1
  332. package/esm2015/group/src/lib/group.module.js +1 -1
  333. package/esm2015/group/src/public-api.js +1 -1
  334. package/esm2015/header-title/index.js +1 -1
  335. package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
  336. package/esm2015/header-title/src/lib/header-title.component.js +1 -1
  337. package/esm2015/header-title/src/lib/header-title.module.js +1 -1
  338. package/esm2015/header-title/src/public-api.js +1 -1
  339. package/esm2015/image-preview/index.js +1 -1
  340. package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
  341. package/esm2015/image-preview/src/lib/directives/image-preview.directive.js +1 -1
  342. package/esm2015/image-preview/src/lib/image-preview/image-preview-sdmodal.component.js +1 -1
  343. package/esm2015/image-preview/src/lib/image-preview/image-preview.component.js +1 -1
  344. package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +1 -1
  345. package/esm2015/image-preview/src/lib/models/image-preview.model.js +1 -1
  346. package/esm2015/image-preview/src/public-api.js +1 -1
  347. package/esm2015/input/index.js +1 -1
  348. package/esm2015/input/sd-angular-core-input.js +1 -1
  349. package/esm2015/input/src/lib/directives/input-suffix.directive.js +1 -1
  350. package/esm2015/input/src/lib/directives/touch.directive.js +1 -1
  351. package/esm2015/input/src/lib/input-tooltip.pipe.js +1 -1
  352. package/esm2015/input/src/lib/input.component.js +1 -1
  353. package/esm2015/input/src/lib/input.module.js +1 -1
  354. package/esm2015/input/src/public-api.js +1 -1
  355. package/esm2015/input-currency/index.js +1 -1
  356. package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
  357. package/esm2015/input-currency/src/lib/input-currency-tooltip.pipe.js +1 -1
  358. package/esm2015/input-currency/src/lib/input-currency.component.js +1 -1
  359. package/esm2015/input-currency/src/lib/input-currency.module.js +1 -1
  360. package/esm2015/input-currency/src/public-api.js +1 -1
  361. package/esm2015/input-dropdown/index.js +1 -1
  362. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
  363. package/esm2015/input-dropdown/src/lib/input-tooltip.pipe.js +1 -1
  364. package/esm2015/input-dropdown/src/lib/input.component.js +3 -3
  365. package/esm2015/input-dropdown/src/lib/input.module.js +1 -1
  366. package/esm2015/input-dropdown/src/public-api.js +1 -1
  367. package/esm2015/input-number/index.js +1 -1
  368. package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
  369. package/esm2015/input-number/src/lib/input-number.component.js +1 -1
  370. package/esm2015/input-number/src/lib/input-number.module.js +1 -1
  371. package/esm2015/input-number/src/public-api.js +1 -1
  372. package/esm2015/input-upload-file/index.js +1 -1
  373. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
  374. package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +1 -1
  375. package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -1
  376. package/esm2015/input-upload-file/src/public-api.js +1 -1
  377. package/esm2015/json-editor/index.js +1 -1
  378. package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
  379. package/esm2015/json-editor/src/lib/json-editor.component.js +1 -1
  380. package/esm2015/json-editor/src/lib/json-editor.module.js +1 -1
  381. package/esm2015/json-editor/src/public-api.js +1 -1
  382. package/esm2015/konva/index.js +1 -1
  383. package/esm2015/konva/sd-angular-core-konva.js +1 -1
  384. package/esm2015/konva/src/lib/konva.module.js +1 -1
  385. package/esm2015/konva/src/lib/merge-images/merge-images.component.js +1 -1
  386. package/esm2015/konva/src/public-api.js +1 -1
  387. package/esm2015/label/index.js +1 -1
  388. package/esm2015/label/sd-angular-core-label.js +1 -1
  389. package/esm2015/label/src/lib/label.component.js +1 -1
  390. package/esm2015/label/src/lib/label.module.js +1 -1
  391. package/esm2015/label/src/public-api.js +1 -1
  392. package/esm2015/lib/core.module.js +1 -1
  393. package/esm2015/lib/material.module.js +1 -1
  394. package/esm2015/loading/index.js +1 -1
  395. package/esm2015/loading/sd-angular-core-loading.js +1 -1
  396. package/esm2015/loading/src/lib/loading.service.js +1 -1
  397. package/esm2015/loading/src/public-api.js +1 -1
  398. package/esm2015/modal/index.js +1 -1
  399. package/esm2015/modal/sd-angular-core-modal.js +1 -1
  400. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.js +1 -1
  401. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.js +1 -1
  402. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.js +1 -1
  403. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet.component.js +1 -1
  404. package/esm2015/modal/src/lib/modal/modal-body/modal-body.component.js +1 -1
  405. package/esm2015/modal/src/lib/modal/modal-footer/modal-footer.component.js +1 -1
  406. package/esm2015/modal/src/lib/modal/modal-header/modal-header.component.js +1 -1
  407. package/esm2015/modal/src/lib/modal/modal.component.js +1 -1
  408. package/esm2015/modal/src/lib/modal.module.js +1 -1
  409. package/esm2015/modal/src/public-api.js +1 -1
  410. package/esm2015/modal-resizable/index.js +1 -1
  411. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
  412. package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +1 -1
  413. package/esm2015/modal-resizable/src/lib/modal-resizable.module.js +1 -1
  414. package/esm2015/modal-resizable/src/public-api.js +1 -1
  415. package/esm2015/notify/index.js +1 -1
  416. package/esm2015/notify/sd-angular-core-notify.js +1 -1
  417. package/esm2015/notify/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  418. package/esm2015/notify/src/lib/configurations/notify.configuration.js +1 -1
  419. package/esm2015/notify/src/lib/notify.module.js +1 -1
  420. package/esm2015/notify/src/lib/notify.service.js +1 -1
  421. package/esm2015/notify/src/public-api.js +1 -1
  422. package/esm2015/pdf/index.js +1 -1
  423. package/esm2015/pdf/sd-angular-core-pdf.js +1 -1
  424. package/esm2015/pdf/src/lib/pdf.module.js +1 -1
  425. package/esm2015/pdf/src/lib/pdf.service.js +1 -1
  426. package/esm2015/pdf/src/public-api.js +1 -1
  427. package/esm2015/popover/index.js +1 -1
  428. package/esm2015/popover/sd-angular-core-popover.js +1 -1
  429. package/esm2015/popover/src/lib/directives/popover-content.directive.js +1 -1
  430. package/esm2015/popover/src/lib/directives/popover-trigger.directive.js +1 -1
  431. package/esm2015/popover/src/lib/popover/popover.component.js +1 -1
  432. package/esm2015/popover/src/lib/popover.model.js +1 -1
  433. package/esm2015/popover/src/lib/popover.module.js +1 -1
  434. package/esm2015/popover/src/public-api.js +1 -1
  435. package/esm2015/print/index.js +1 -1
  436. package/esm2015/print/sd-angular-core-print.js +1 -1
  437. package/esm2015/print/src/lib/fonts/times/bold-italic.js +1 -1
  438. package/esm2015/print/src/lib/fonts/times/bold.js +1 -1
  439. package/esm2015/print/src/lib/fonts/times/italic.js +1 -1
  440. package/esm2015/print/src/lib/fonts/times/normal.js +1 -1
  441. package/esm2015/print/src/lib/print.component.js +1 -1
  442. package/esm2015/print/src/lib/print.module.js +1 -1
  443. package/esm2015/print/src/public-api.js +1 -1
  444. package/esm2015/public-api.js +1 -1
  445. package/esm2015/quick-action/index.js +1 -1
  446. package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
  447. package/esm2015/quick-action/src/lib/quick-action.component.js +1 -1
  448. package/esm2015/quick-action/src/lib/quick-action.module.js +1 -1
  449. package/esm2015/quick-action/src/public-api.js +1 -1
  450. package/esm2015/radio/index.js +1 -1
  451. package/esm2015/radio/sd-angular-core-radio.js +1 -1
  452. package/esm2015/radio/src/lib/radio.component.js +1 -1
  453. package/esm2015/radio/src/lib/radio.module.js +1 -1
  454. package/esm2015/radio/src/public-api.js +1 -1
  455. package/esm2015/sd-angular-core.js +1 -1
  456. package/esm2015/select/index.js +1 -1
  457. package/esm2015/select/sd-angular-core-select.js +1 -1
  458. package/esm2015/select/src/lib/select-display-def.directive.js +1 -1
  459. package/esm2015/select/src/lib/select.component.js +1 -1
  460. package/esm2015/select/src/lib/select.module.js +1 -1
  461. package/esm2015/select/src/public-api.js +1 -1
  462. package/esm2015/select-badge/index.js +1 -1
  463. package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
  464. package/esm2015/select-badge/src/lib/select-badge-display-def.directive.js +1 -1
  465. package/esm2015/select-badge/src/lib/select-badge.component.js +1 -1
  466. package/esm2015/select-badge/src/lib/select-badge.module.js +1 -1
  467. package/esm2015/select-badge/src/public-api.js +1 -1
  468. package/esm2015/select-editor/index.js +1 -1
  469. package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
  470. package/esm2015/select-editor/src/lib/select-editor.component.js +1 -1
  471. package/esm2015/select-editor/src/lib/select-editor.module.js +1 -1
  472. package/esm2015/select-editor/src/public-api.js +1 -1
  473. package/esm2015/service/index.js +1 -1
  474. package/esm2015/service/sd-angular-core-service.js +1 -1
  475. package/esm2015/service/src/lib/service.module.js +1 -1
  476. package/esm2015/service/src/public-api.js +1 -1
  477. package/esm2015/setting/index.js +1 -1
  478. package/esm2015/setting/sd-angular-core-setting.js +1 -1
  479. package/esm2015/setting/src/lib/setting.model.js +1 -1
  480. package/esm2015/setting/src/lib/setting.service.js +1 -1
  481. package/esm2015/setting/src/public-api.js +1 -1
  482. package/esm2015/side-drawer/index.js +1 -1
  483. package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
  484. package/esm2015/side-drawer/src/lib/side-drawer/side-drawer.component.js +1 -1
  485. package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -1
  486. package/esm2015/side-drawer/src/public-api.js +1 -1
  487. package/esm2015/switch/index.js +1 -1
  488. package/esm2015/switch/sd-angular-core-switch.js +1 -1
  489. package/esm2015/switch/src/lib/switch.component.js +1 -1
  490. package/esm2015/switch/src/lib/switch.module.js +1 -1
  491. package/esm2015/switch/src/public-api.js +1 -1
  492. package/esm2015/tab-router/index.js +1 -1
  493. package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
  494. package/esm2015/tab-router/src/lib/actions/tab-router.action.js +1 -1
  495. package/esm2015/tab-router/src/lib/components/tab-router-item/tab-router-item.component.js +1 -1
  496. package/esm2015/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.js +1 -1
  497. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +1 -1
  498. package/esm2015/tab-router/src/lib/decorators/tab.decorator.js +1 -1
  499. package/esm2015/tab-router/src/lib/directives/router-link-mouse-down.directive.js +1 -1
  500. package/esm2015/tab-router/src/lib/events/tab-router.event.js +1 -1
  501. package/esm2015/tab-router/src/lib/models/tab-router.model.js +1 -1
  502. package/esm2015/tab-router/src/lib/pipes/tab-info.pipe.js +1 -1
  503. package/esm2015/tab-router/src/lib/services/tab-decorator.service.js +1 -1
  504. package/esm2015/tab-router/src/lib/services/tab-router.service.js +1 -1
  505. package/esm2015/tab-router/src/lib/tab-router.module.js +1 -1
  506. package/esm2015/tab-router/src/public-api.js +1 -1
  507. package/esm2015/table/index.js +1 -1
  508. package/esm2015/table/sd-angular-core-table.js +24 -31
  509. package/esm2015/table/src/lib/components/column-inline-filter/column-inline-filter.component.js +17 -4
  510. package/esm2015/table/src/lib/components/desktop-cell/desktop-cell.component.js +1 -1
  511. package/esm2015/table/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +2 -2
  512. package/esm2015/table/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  513. package/esm2015/table/src/lib/components/popup-configuration/popup-configuration.component.js +69 -0
  514. package/esm2015/table/src/lib/components/popup-filter/popup-filter.component.js +2 -2
  515. package/esm2015/table/src/lib/components/quick-action/quick-action.component.js +6 -6
  516. package/esm2015/table/src/lib/components/table-filter/table-filter.component.js +99 -0
  517. package/esm2015/table/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  518. package/esm2015/table/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  519. package/esm2015/table/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  520. package/esm2015/table/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  521. package/esm2015/table/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  522. package/esm2015/table/src/lib/models/index.js +1 -1
  523. package/esm2015/table/src/lib/models/table-column.model.js +7 -7
  524. package/esm2015/table/src/lib/models/table-command.model.js +1 -1
  525. package/esm2015/table/src/lib/models/table-configuration.model.js +1 -1
  526. package/esm2015/table/src/lib/models/table-item.model.js +3 -3
  527. package/esm2015/table/src/lib/models/table-option-config.model.js +1 -1
  528. package/esm2015/table/src/lib/models/table-option-expand.model.js +1 -1
  529. package/esm2015/table/src/lib/models/table-option-export.model.js +1 -1
  530. package/esm2015/table/src/lib/models/table-option-group.model.js +1 -1
  531. package/esm2015/table/src/lib/models/table-option-paginate.model.js +1 -1
  532. package/esm2015/table/src/lib/models/table-option-reload.model.js +1 -1
  533. package/esm2015/table/src/lib/models/table-option-selector.model.js +1 -1
  534. package/esm2015/table/src/lib/models/table-option-sort.model.js +1 -1
  535. package/esm2015/table/src/lib/models/table-option-style.model.js +1 -1
  536. package/esm2015/table/src/lib/models/table-option.model.js +1 -1
  537. package/esm2015/table/src/lib/pipes/column-tooltip.pipe.js +1 -1
  538. package/esm2015/table/src/lib/pipes/command-disable.pipe.js +1 -1
  539. package/esm2015/table/src/lib/pipes/command-filter.pipe.js +1 -1
  540. package/esm2015/table/src/lib/pipes/command-icon.pipe.js +1 -1
  541. package/esm2015/table/src/lib/pipes/command-title.pipe.js +1 -1
  542. package/esm2015/table/src/lib/pipes/filter-column.pipe.js +1 -1
  543. package/esm2015/table/src/lib/pipes/filter-external.pipe.js +1 -1
  544. package/esm2015/table/src/lib/pipes/sd-group.pipe.js +1 -1
  545. package/esm2015/table/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  546. package/esm2015/table/src/lib/pipes/selection-disable.pipe.js +1 -1
  547. package/esm2015/table/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  548. package/esm2015/table/src/lib/pipes/selection-visible.pipe.js +1 -1
  549. package/esm2015/table/src/lib/services/table-configuration.service.js +37 -207
  550. package/esm2015/table/src/lib/services/table-filter/table-filter.model.js +1 -1
  551. package/esm2015/table/src/lib/services/table-filter/table-filter.service.js +1 -1
  552. package/esm2015/table/src/lib/table.component.js +197 -87
  553. package/esm2015/table/src/lib/table.module.js +7 -22
  554. package/esm2015/table/src/public-api.js +1 -1
  555. package/esm2015/textarea/index.js +1 -1
  556. package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
  557. package/esm2015/textarea/src/lib/textarea.component.js +1 -1
  558. package/esm2015/textarea/src/lib/textarea.module.js +1 -1
  559. package/esm2015/textarea/src/public-api.js +1 -1
  560. package/esm2015/time/index.js +1 -1
  561. package/esm2015/time/sd-angular-core-time.js +1 -1
  562. package/esm2015/time/src/lib/time.component.js +1 -1
  563. package/esm2015/time/src/lib/time.module.js +1 -1
  564. package/esm2015/time/src/public-api.js +1 -1
  565. package/esm2015/timeline/index.js +1 -1
  566. package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
  567. package/esm2015/timeline/src/lib/components/timeline.component.js +1 -1
  568. package/esm2015/timeline/src/lib/directives/timeline-def.directive.js +1 -1
  569. package/esm2015/timeline/src/lib/timeline.module.js +1 -1
  570. package/esm2015/timeline/src/public-api.js +1 -1
  571. package/esm2015/translate/index.js +1 -1
  572. package/esm2015/translate/sd-angular-core-translate.js +1 -1
  573. package/esm2015/translate/src/lib/translate.model.js +1 -1
  574. package/esm2015/translate/src/lib/translate.module.js +1 -1
  575. package/esm2015/translate/src/lib/translate.pipe.js +1 -1
  576. package/esm2015/translate/src/lib/translate.service.js +1 -1
  577. package/esm2015/upload-excel/index.js +1 -1
  578. package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
  579. package/esm2015/upload-excel/src/lib/pipes/columm-hidden.pipe.js +1 -1
  580. package/esm2015/upload-excel/src/lib/pipes/column-transform.pipe.js +1 -1
  581. package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -1
  582. package/esm2015/upload-excel/src/lib/upload-excel.model.js +1 -1
  583. package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -1
  584. package/esm2015/upload-excel/src/public-api.js +1 -1
  585. package/esm2015/upload-file/index.js +1 -1
  586. package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
  587. package/esm2015/upload-file/src/lib/upload-file.component.js +1 -1
  588. package/esm2015/upload-file/src/lib/upload-file.module.js +1 -1
  589. package/esm2015/upload-file/src/public-api.js +1 -1
  590. package/esm2015/utility/index.js +1 -1
  591. package/esm2015/utility/sd-angular-core-utility.js +1 -1
  592. package/esm2015/utility/src/lib/directives/desktop.directive.js +1 -1
  593. package/esm2015/utility/src/lib/directives/mobile-tablet.directive.js +1 -1
  594. package/esm2015/utility/src/lib/directives/mobile.directive.js +1 -1
  595. package/esm2015/utility/src/lib/directives/tablet.directive.js +1 -1
  596. package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -1
  597. package/esm2015/utility/src/lib/pipes/safe-html.pipe.js +1 -1
  598. package/esm2015/utility/src/lib/pipes/time-different.pipe.js +1 -1
  599. package/esm2015/utility/src/lib/utility.module.js +1 -3
  600. package/esm2015/utility/src/lib/utility.service.js +7 -54
  601. package/esm2015/utility/src/public-api.js +1 -1
  602. package/esm2015/view/index.js +1 -1
  603. package/esm2015/view/sd-angular-core-view.js +1 -1
  604. package/esm2015/view/src/lib/view.module.js +1 -1
  605. package/esm2015/view/src/public-api.js +1 -1
  606. package/esm2015/zip/index.js +1 -1
  607. package/esm2015/zip/sd-angular-core-zip.js +1 -1
  608. package/esm2015/zip/src/lib/zip.module.js +1 -1
  609. package/esm2015/zip/src/lib/zip.service.js +1 -1
  610. package/esm2015/zip/src/public-api.js +1 -1
  611. package/fesm2015/sd-angular-core-api.js +2 -35
  612. package/fesm2015/sd-angular-core-api.js.map +1 -1
  613. package/fesm2015/sd-angular-core-common.js +85 -2
  614. package/fesm2015/sd-angular-core-common.js.map +1 -1
  615. package/fesm2015/sd-angular-core-input-dropdown.js +2 -2
  616. package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
  617. package/fesm2015/sd-angular-core-table.js +348 -804
  618. package/fesm2015/sd-angular-core-table.js.map +1 -1
  619. package/fesm2015/sd-angular-core-utility.js +7 -54
  620. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  621. package/input-dropdown/sd-angular-core-input-dropdown.metadata.json +1 -1
  622. package/package.json +1 -1
  623. package/{sd-angular-core-1.3.149.tgz → sd-angular-core-1.3.151.tgz} +0 -0
  624. package/table/sd-angular-core-table.d.ts +23 -30
  625. package/table/sd-angular-core-table.metadata.json +1 -1
  626. package/table/src/lib/components/column-inline-filter/column-inline-filter.component.d.ts +2 -0
  627. package/table/src/lib/components/{popup-grid-configuration/popup-grid-configuration.component.d.ts → popup-configuration/popup-configuration.component.d.ts} +5 -10
  628. package/table/src/lib/components/popup-filter/popup-filter.component.d.ts +2 -2
  629. package/table/src/lib/components/quick-action/quick-action.component.d.ts +1 -1
  630. package/table/src/lib/components/{grid-filter/grid-filter.component.d.ts → table-filter/table-filter.component.d.ts} +5 -5
  631. package/table/src/lib/models/table-column.model.d.ts +15 -48
  632. package/table/src/lib/models/table-item.model.d.ts +15 -2
  633. package/table/src/lib/models/table-option-config.model.d.ts +2 -11
  634. package/table/src/lib/models/table-option.model.d.ts +0 -4
  635. package/table/src/lib/services/table-configuration.service.d.ts +5 -5
  636. package/table/src/lib/services/table-filter/table-filter.model.d.ts +1 -2
  637. package/table/src/lib/services/table-filter/table-filter.service.d.ts +2 -2
  638. package/table/src/lib/table.component.d.ts +12 -13
  639. package/utility/sd-angular-core-utility.metadata.json +1 -1
  640. package/utility/src/lib/utility.service.d.ts +2 -4
  641. package/esm2015/table/src/lib/components/grid-filter/grid-filter.component.js +0 -99
  642. package/esm2015/table/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +0 -96
  643. package/esm2015/table/src/lib/models/grid-cell.model.js +0 -2
  644. package/esm2015/table/src/lib/pipes/cell-view.pipe.js +0 -180
  645. package/esm2015/table/src/lib/pipes/column-badge.pipe.js +0 -43
  646. package/esm2015/table/src/lib/pipes/column-children-filter.pipe.js +0 -31
  647. package/esm2015/table/src/lib/pipes/column-html-template.pipe.js +0 -23
  648. package/esm2015/table/src/lib/pipes/column-transform.pipe.js +0 -35
  649. package/esm2015/table/src/lib/pipes/column-values.pipe.js +0 -63
  650. package/esm2015/table/src/lib/pipes/grid-configuration-result.pipe.js +0 -21
  651. package/table/src/lib/models/grid-cell.model.d.ts +0 -16
  652. package/table/src/lib/pipes/cell-view.pipe.d.ts +0 -15
  653. package/table/src/lib/pipes/column-badge.pipe.d.ts +0 -11
  654. package/table/src/lib/pipes/column-children-filter.pipe.d.ts +0 -8
  655. package/table/src/lib/pipes/column-html-template.pipe.d.ts +0 -8
  656. package/table/src/lib/pipes/column-transform.pipe.d.ts +0 -8
  657. package/table/src/lib/pipes/column-values.pipe.d.ts +0 -6
  658. package/table/src/lib/pipes/grid-configuration-result.pipe.d.ts +0 -10
@@ -756,4 +756,4 @@ SdChart.propDecorators = {
756
756
  chartAxisRef: [{ type: ViewChild, args: ['chartAxis',] }],
757
757
  chartAreaWrapperExtendRef: [{ type: ViewChild, args: ['chartAreaWrapperExtend',] }]
758
758
  };
759
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGFydC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsU0FBUyxFQUFjLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sS0FBSyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFTTCxZQUFZLEVBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBTzdCLE1BQU0sT0FBTyxPQUFPO0lBcUJsQixZQUNVLEdBQXNCLEVBQ1ksa0JBQXVDO1FBRHpFLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ1ksdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFxQjtRQXRCM0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFNUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWNsQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsV0FBTSxHQUFHLE9BQU8sQ0FBQztRQW10QmpCLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQTtRQVNELGlDQUF5QixDQUFDLFNBQTZDLEVBQXlDLEVBQUU7WUFDaEgsT0FBUTtnQkFDTixTQUFTLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPOztvQkFDdEMsZ0JBQUksYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLElBQUksMENBQUUsUUFBUSwwQ0FBRSxNQUFNLEVBQUM7d0JBQ3hDLE1B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QUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUMsQ0FBQzs7OztZQW52QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixtZ0JBQXFDOzthQUV0Qzs7O1lBckJ3RSxpQkFBaUI7NENBNkNyRixRQUFRLFlBQUksTUFBTSxTQUFDLFlBQVk7OzswQkFsQmpDLEtBQUs7dUJBT0wsU0FBUyxTQUFDLE9BQU87OEJBQ2pCLFNBQVMsU0FBQyxjQUFjOzJCQUN4QixTQUFTLFNBQUMsV0FBVzt3Q0FDckIsU0FBUyxTQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBDaGFydCBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7XHJcbiAgU2RDaGFydE9wdGlvbixcclxuICBCYXJDaGFydE9wdGlvbixcclxuICBMaW5lQ2hhcnRPcHRpb24sXHJcbiAgUGllQ2hhcnRPcHRpb24sXHJcbiAgQmFyTGluZUNoYXJ0T3B0aW9uLFxyXG4gIFN0YWNrQXJlYUNoYXJ0T3B0aW9uLFxyXG4gIEhvcml6b250YWxCYXJDaGFydE9wdGlvbixcclxuICBJQ2hhcnRDb25maWd1cmF0aW9uLFxyXG4gIENIQVJUX0NPTkZJRyxcclxuICBEb3VnaG51dENoYXJ0T3B0aW9uXHJcbn0gZnJvbSAnLi9jaGFydC5tb2RlbCc7XHJcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ2hhcnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIHBDaGFydE9wdGlvbjogU2RDaGFydE9wdGlvbjtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGNoYXJ0T3B0aW9uKGNoYXJ0T3B0aW9uOiBTZENoYXJ0T3B0aW9uKSB7XHJcbiAgICB0aGlzLnBDaGFydE9wdGlvbiA9IGNoYXJ0T3B0aW9uO1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJDaGFydCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnY2hhcnQnKSBjaGFydFJlZjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjaGFydFdyYXBwZXInKSBjaGFydFdyYXBwZXJSZWY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY2hhcnRBeGlzJykgY2hhcnRBeGlzUmVmOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0QXJlYVdyYXBwZXJFeHRlbmQnKSBjaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmOiBFbGVtZW50UmVmO1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuICBoZWlnaHQgPSAnMzAwcHgnO1xyXG4gIHByaXZhdGUgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDSEFSVF9DT05GSUcpIHByaXZhdGUgY2hhcnRDb25maWd1cmF0aW9uOiBJQ2hhcnRDb25maWd1cmF0aW9uXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMucmVuZGVyQ2hhcnQodHJ1ZSk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcmVuZGVyQ2hhcnQoZmlyc3RSZW5kZXI/OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMucENoYXJ0T3B0aW9uPy5oZWlnaHQgfHwgJzMwMHB4JztcclxuICAgIGlmICghZmlyc3RSZW5kZXIpIHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDApKTtcclxuICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDApKTtcclxuICAgIGlmICh0aGlzLmNoYXJ0UmVmPy5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuY2hhcnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MQ2FudmFzRWxlbWVudDtcclxuICAgICAgdGhpcy5jdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgc3dpdGNoICh0aGlzLnBDaGFydE9wdGlvbi50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAncGllJzpcclxuICAgICAgICAgIHRoaXMucmVuZGVyUGllQ2hhcnQodGhpcy5wQ2hhcnRPcHRpb24pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYmFyJzpcclxuICAgICAgICAgIHRoaXMucmVuZGVyQmFyQ2hhcnQodGhpcy5wQ2hhcnRPcHRpb24pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnaG9yaXpvbnRhbEJhcic6XHJcbiAgICAgICAgICB0aGlzLnJlbmRlckhvcml6b250YWxCYXJDaGFydCh0aGlzLnBDaGFydE9wdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdsaW5lJzpcclxuICAgICAgICAgIHRoaXMucmVuZGVyTGluZUNoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N0YWNrQXJlYSc6XHJcbiAgICAgICAgICB0aGlzLnJlbmRlclN0YWNrQXJlYUNoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2JhcmxpbmUnOlxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJCYXJMaW5lQ2hhcnQodGhpcy5wQ2hhcnRPcHRpb24pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZG91Z2hudXQnOlxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJEb3VnaG51dENoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyUGllQ2hhcnQob3B0aW9uOiBQaWVDaGFydE9wdGlvbikge1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogQ2hhcnQuQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICB0eXBlOiAncGllJyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiBvcHRpb24udGl0bGVcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogIW9wdGlvbi5oaWRlTGVnZW5kXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwczoge1xyXG4gICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgIGxhYmVsOiAodG9vbHRpcEl0ZW0sIGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRhc2V0TGFiZWwgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5sYWJlbDtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IGRhdGE/LmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8uZGF0YVt0b29sdGlwSXRlbS5pbmRleF0gYXMgbnVtYmVyO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udG9vbHRpcHM/LmxhYmVsKHtcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRMYWJlbCxcclxuICAgICAgICAgICAgICAgIGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICB9KSB8fCBgJHtkYXRhc2V0TGFiZWwgPyBgWyR7ZGF0YXNldExhYmVsfV0gYCA6ICcnfSR7bGFiZWx9IDogJHtOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbGFiZWxzOiBvcHRpb24uZGF0YXNldHM/Lm1hcChlID0+IGUubGFiZWwpIHx8IFtdLFxyXG4gICAgICAgIGRhdGFzZXRzOiBbe1xyXG4gICAgICAgICAgZGF0YTogb3B0aW9uLmRhdGFzZXRzPy5tYXAoZSA9PiBlLnZhbHVlKSB8fCBbXSxcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogb3B0aW9uLmRhdGFzZXRzPy5tYXAoKGUsIGlkeCkgPT4gZS5iYWNrZ3JvdW5kQ29sb3JcclxuICAgICAgICAgICAgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3JcclxuICAgICAgICAgICAgfHwgdGhpcy5keW5hbWljQ29sb3IpIHx8IFtdXHJcbiAgICAgICAgfV1cclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3B0aW9uLmhvdmVyID09PSAnU2hvd0FsbCcpIHtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyxcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlcixcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHRoaXMuY3R4LCBjb25maWd1cmF0aW9uKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlckRvdWdobnV0Q2hhcnQob3B0aW9uOkRvdWdobnV0Q2hhcnRPcHRpb24pe1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogQ2hhcnQuQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICB0eXBlOiAnZG91Z2hudXQnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOmZhbHNlLFxyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogb3B0aW9uLnRpdGxlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICFvcHRpb24uaGlkZUxlZ2VuZFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YXNldExhYmVsID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhPy5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRvb2x0aXBzPy5sYWJlbCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsID8gYFske2RhdGFzZXRMYWJlbH1dIGAgOiAnJ30ke2xhYmVsfSA6ICR7TnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGxhYmVsczogb3B0aW9uLmRhdGFzZXRzPy5tYXAoZSA9PiBlLmxhYmVsKSB8fCBbXSxcclxuICAgICAgICBkYXRhc2V0czogW3tcclxuICAgICAgICAgIGRhdGE6IG9wdGlvbi5kYXRhc2V0cz8ubWFwKGUgPT4gZS52YWx1ZSkgfHwgW10sXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IG9wdGlvbi5kYXRhc2V0cz8ubWFwKChlLCBpZHgpID0+IGUuYmFja2dyb3VuZENvbG9yXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yXHJcbiAgICAgICAgICAgIHx8IHRoaXMuZHluYW1pY0NvbG9yKSB8fCBbXVxyXG4gICAgICAgIH1dXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJCYXJDaGFydChvcHRpb246IEJhckNoYXJ0T3B0aW9uKSB7XHJcbiAgICBjb25zdCBsYWJlbFdpZHRoID0gb3B0aW9uLmxhYmVsV2lkdGggPz8gNTA7XHJcbiAgICBpZiAob3B0aW9uLmRhdGFzZXRzLmxlbmd0aCkge1xyXG4gICAgICAvLyBjb25zdCBuZXd3aWR0aCA9IE1hdGgubWF4KG9wdGlvbi5sYWJlbHMubGVuZ3RoICogb3B0aW9uLmRhdGFzZXRzLmxlbmd0aCAqIGxhYmVsV2lkdGgsICQodGhpcy5jaGFydFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCkud2lkdGgoKSk7XHJcbiAgICAgIC8vICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKG5ld3dpZHRoKTtcclxuICAgICAgY29uc3QgbmV3d2lkdGggPSBvcHRpb24ubGFiZWxzLmxlbmd0aCAqIG9wdGlvbi5kYXRhc2V0cy5sZW5ndGggKiBsYWJlbFdpZHRoO1xyXG4gICAgICAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS5jc3MoJ3dpZHRoJywgYG1heCgxMDAlLCR7bmV3d2lkdGh9cHgpYCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBDaGFydC5DaGFydENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogIW9wdGlvbi5oaWRlTGVnZW5kXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueFRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueFRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy54TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfV0sXHJcbiAgICAgICAgICB5QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBiZWdpbkF0WmVybzogb3B0aW9uLmJlZ2luQXRaZXJvID8/IHRydWUsXHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy55TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnlUaXRsZSxcclxuICAgICAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnlUaXRsZSB8fCAnJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YXNldExhYmVsID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhPy5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRvb2x0aXBzPy5sYWJlbCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsfSA6ICR7TnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2JhcicsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbHM6IG9wdGlvbi5sYWJlbHMsXHJcbiAgICAgICAgZGF0YXNldHM6IG9wdGlvbi5kYXRhc2V0cy5tYXAoKGUsIGlkeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZHluYW1pY0NvbG9yID0gdGhpcy5keW5hbWljQ29sb3I7XHJcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IENoYXJ0LkNoYXJ0RGF0YVNldHMgPSB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBlLmxhYmVsLFxyXG4gICAgICAgICAgICBmaWxsOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBkYXRhOiBlLmRhdGEsXHJcbiAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcHRpb24uaG92ZXIgPT09ICdTaG93QWxsJykge1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jdHgsIGNvbmZpZ3VyYXRpb24pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVySG9yaXpvbnRhbEJhckNoYXJ0KG9wdGlvbjogSG9yaXpvbnRhbEJhckNoYXJ0T3B0aW9uKSB7XHJcbiAgICAvLyBjb25zdCBsYWJlbFdpZHRoID0gb3B0aW9uLmxhYmVsV2lkdGggPz8gNTA7XHJcbiAgICAvLyBpZiAob3B0aW9uLmRhdGFzZXRzLmxlbmd0aCkge1xyXG4gICAgLy8gICBjb25zdCBuZXd3aWR0aCA9IE1hdGgubWF4KG9wdGlvbi5sYWJlbHMubGVuZ3RoICogb3B0aW9uLmRhdGFzZXRzLmxlbmd0aCAqIGxhYmVsV2lkdGgsICQodGhpcy5jaGFydFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCkud2lkdGgoKSk7XHJcbiAgICAvLyAgICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKG5ld3dpZHRoKTtcclxuICAgIC8vIH1cclxuICAgIGNvbnN0IHBsdWdpbnM6Q2hhcnQuUGx1Z2luU2VydmljZVJlZ2lzdHJhdGlvbk9wdGlvbnNbXSA9IFtdO1xyXG4gICAgaWYgKG9wdGlvbi5zaG93VG90YWxTdGFjayl7XHJcbiAgICAgIHBsdWdpbnMucHVzaCh0aGlzLiNkcmF3VG90YWxPZlN0YWNrZWRCYXIob3B0aW9uLnR5cGUpKVxyXG4gICAgfVxyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogQ2hhcnQuQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICFvcHRpb24uaGlkZUxlZ2VuZCxcclxuICAgICAgICAgIG9uQ2xpY2s6IChldmVudCwgbGVnZW5kSXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSBsZWdlbmRJdGVtLmRhdGFzZXRJbmRleDtcclxuICAgICAgICAgICAgbGV0IGNpID0gdGhpcy5jaGFydDtcclxuICAgICAgICAgICAgbGV0IG1ldGEgPSBjaS5nZXREYXRhc2V0TWV0YShpbmRleCk7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uc2hvd1RvdGFsU3RhY2spe1xyXG4gICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIC8vIFNlZSBjb250cm9sbGVyLmlzRGF0YXNldFZpc2libGUgY29tbWVudFxyXG4gICAgICAgICAgICBtZXRhLmhpZGRlbiA9IG1ldGEuaGlkZGVuID09PSBudWxsID8gIWNpLmRhdGEuZGF0YXNldHNbaW5kZXhdLmhpZGRlbiA6IG51bGw7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIFdlIGhpZCBhIGRhdGFzZXQgLi4uIHJlcmVuZGVyIHRoZSBjaGFydFxyXG4gICAgICAgICAgICBjaS51cGRhdGUoKTsgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGF5b3V0OntcclxuICAgICAgICAgIHBhZGRpbmc6e1xyXG4gICAgICAgICAgICByaWdodDoyMFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgICB4QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnhUaXRsZSxcclxuICAgICAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnhUaXRsZSB8fCAnJyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3RhY2tlZDp0cnVlLFxyXG4gICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgIGJlZ2luQXRaZXJvOiBvcHRpb24uYmVnaW5BdFplcm8gPz8gdHJ1ZSxcclxuICAgICAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnhMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfV0sXHJcbiAgICAgICAgICB5QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgc3RhY2tlZDp0cnVlLFxyXG4gICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueUxhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi55VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7XHJcbiAgICAgICAgICBtb2RlOiduZWFyZXN0JyxcclxuICAgICAgICAgIGF4aXM6J3knLFxyXG4gICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgIGxhYmVsOiAodG9vbHRpcEl0ZW0sIGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRhc2V0TGFiZWwgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5sYWJlbDtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IGRhdGE/LmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8uZGF0YVt0b29sdGlwSXRlbS5pbmRleF0gYXMgbnVtYmVyO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udG9vbHRpcHM/LmxhYmVsKHtcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRMYWJlbCxcclxuICAgICAgICAgICAgICAgIGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICB9KSB8fCBgJHtkYXRhc2V0TGFiZWx9IDogJHtOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaG9yaXpvbnRhbEJhcicsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbHM6IG9wdGlvbi5sYWJlbHMsXHJcbiAgICAgICAgZGF0YXNldHM6IG9wdGlvbi5kYXRhc2V0cy5tYXAoKGUsIGlkeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZHluYW1pY0NvbG9yID0gdGhpcy5keW5hbWljQ29sb3I7XHJcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IENoYXJ0LkNoYXJ0RGF0YVNldHMgPSB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBlLmxhYmVsLFxyXG4gICAgICAgICAgICBmaWxsOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBkYXRhOiBlLmRhdGEsXHJcbiAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG4gICAgICBwbHVnaW5zOnBsdWdpbnNcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJMaW5lQ2hhcnQob3B0aW9uOiBMaW5lQ2hhcnRPcHRpb24pIHtcclxuICAgIGNvbnN0IGxhYmVsV2lkdGggPSBvcHRpb24ubGFiZWxXaWR0aCA/PyA1MDtcclxuICAgIGlmIChvcHRpb24uZGF0YXNldHMubGVuZ3RoKSB7XHJcbiAgICAgIC8vIGNvbnN0IG5ld3dpZHRoID0gTWF0aC5tYXgob3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoLCAkKHRoaXMuY2hhcnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKCkpO1xyXG4gICAgICAvLyAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS53aWR0aChuZXd3aWR0aCk7XHJcbiAgICAgIGNvbnN0IG5ld3dpZHRoID0gb3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoO1xyXG4gICAgICAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS5jc3MoJ3dpZHRoJywgYG1heCgxMDAlLCR7bmV3d2lkdGh9cHgpYCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBDaGFydC5DaGFydENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogIW9wdGlvbi5oaWRlTGVnZW5kXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueFRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueFRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy54TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgeUF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgYmVnaW5BdFplcm86IG9wdGlvbi5iZWdpbkF0WmVybyA/PyB0cnVlLFxyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueUxhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi55VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7XHJcbiAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSwgZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFzZXRMYWJlbCA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YT8ubGFiZWxzW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50b29sdGlwcz8ubGFiZWwoe1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICAgIH0pIHx8IGAke2RhdGFzZXRMYWJlbH0gOiAke051bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdsaW5lJyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGxhYmVsczogb3B0aW9uLmxhYmVscyxcclxuICAgICAgICBkYXRhc2V0czogb3B0aW9uLmRhdGFzZXRzLm1hcCgoZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkeW5hbWljQ29sb3IgPSB0aGlzLmR5bmFtaWNDb2xvcjtcclxuICAgICAgICAgIGNvbnN0IHJlc3VsdDogQ2hhcnQuQ2hhcnREYXRhU2V0cyA9IHtcclxuICAgICAgICAgICAgbGFiZWw6IGUubGFiZWwsXHJcbiAgICAgICAgICAgIGZpbGw6IGUuYmFja2dyb3VuZENvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBlLmJvcmRlckNvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYm9yZGVyQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBkYXRhOiBlLmRhdGEsXHJcbiAgICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3B0aW9uLmhvdmVyID09PSAnU2hvd0FsbCcpIHtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyxcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlcixcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHRoaXMuY3R4LCBjb25maWd1cmF0aW9uKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclN0YWNrQXJlYUNoYXJ0KG9wdGlvbjogU3RhY2tBcmVhQ2hhcnRPcHRpb24pIHtcclxuICAgIGNvbnN0IGxhYmVsV2lkdGggPSBvcHRpb24ubGFiZWxXaWR0aCA/PyA1MDtcclxuICAgIFxyXG4gICAgaWYgKG9wdGlvbi5kYXRhc2V0cy5sZW5ndGgpIHtcclxuICAgICAgLy8gY29uc3QgbmV3d2lkdGggPSBNYXRoLm1heChvcHRpb24ubGFiZWxzLmxlbmd0aCAqIGxhYmVsV2lkdGgsICQodGhpcy5jaGFydFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCkud2lkdGgoKSk7XHJcbiAgICAgIC8vICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKG5ld3dpZHRoKTtcclxuICAgICAgY29uc3QgbmV3d2lkdGggPSBvcHRpb24ubGFiZWxzLmxlbmd0aCAqIGxhYmVsV2lkdGg7XHJcbiAgICAgICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLmNzcygnd2lkdGgnLCBgbWF4KDEwMCUsJHtuZXd3aWR0aH1weClgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IENoYXJ0LkNoYXJ0Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiAhb3B0aW9uLmhpZGVMZWdlbmRcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeEF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi54VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi54VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnhMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfV0sXHJcbiAgICAgICAgICB5QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBiZWdpbkF0WmVybzogb3B0aW9uLmJlZ2luQXRaZXJvID8/IHRydWUsXHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy55TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnlUaXRsZSxcclxuICAgICAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnlUaXRsZSB8fCAnJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YXNldExhYmVsID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhPy5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRvb2x0aXBzPy5sYWJlbCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsfSA6ICR7TnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbGFiZWxzOiBvcHRpb24ubGFiZWxzLFxyXG4gICAgICAgIGRhdGFzZXRzOiBvcHRpb24uZGF0YXNldHMubWFwKChlLCBpZHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR5bmFtaWNDb2xvciA9IHRoaXMuZHluYW1pY0NvbG9yO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBDaGFydC5DaGFydERhdGFTZXRzID0ge1xyXG4gICAgICAgICAgICBsYWJlbDogZS5sYWJlbCxcclxuICAgICAgICAgICAgLy8gZmlsbDogZS5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogZS5ib3JkZXJDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJvcmRlckNvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgICBsaW5lVGVuc2lvbjogMCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJCYXJMaW5lQ2hhcnQob3B0aW9uOiBCYXJMaW5lQ2hhcnRPcHRpb24pIHtcclxuICAgIGNvbnN0IHBsdWdpbnM6Q2hhcnQuUGx1Z2luU2VydmljZVJlZ2lzdHJhdGlvbk9wdGlvbnNbXSA9IFtdO1xyXG4gICAgaWYgKG9wdGlvbi5zaG93VG90YWxTdGFjayl7XHJcbiAgICAgIHBsdWdpbnMucHVzaCh0aGlzLiNkcmF3VG90YWxPZlN0YWNrZWRCYXIob3B0aW9uLnR5cGUpKVxyXG4gICAgfVxyXG4gICAgY29uc3QgbGFiZWxXaWR0aCA9IG9wdGlvbi5sYWJlbFdpZHRoID8/IDUwO1xyXG4gICAgaWYgKG9wdGlvbi5kYXRhc2V0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgbnVtYmVyT2ZCYXJzID0gb3B0aW9uLmRhdGFzZXRzLmZpbHRlcihlID0+IGUudHlwZSA9PT0gJ2JhcicpLmxlbmd0aDtcclxuICAgICAgaWYgKG51bWJlck9mQmFycyA8PSAxKSB7XHJcbiAgICAgICAgLy8gY29uc3QgbmV3d2lkdGggPSBNYXRoLm1heChvcHRpb24ubGFiZWxzLmxlbmd0aCAqIGxhYmVsV2lkdGgsICQodGhpcy5jaGFydFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCkud2lkdGgoKSk7XHJcbiAgICAgICAgLy8gJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkud2lkdGgobmV3d2lkdGgpO1xyXG4gICAgICAgIGNvbnN0IG5ld3dpZHRoID0gb3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoO1xyXG4gICAgICAgICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLmNzcygnd2lkdGgnLCBgbWF4KDEwMCUsJHtuZXd3aWR0aH1weClgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBjb25zdCBuZXd3aWR0aCA9IE1hdGgubWF4KG9wdGlvbi5sYWJlbHMubGVuZ3RoICogbnVtYmVyT2ZCYXJzICogbGFiZWxXaWR0aCwgJCh0aGlzLmNoYXJ0V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50KS53aWR0aCgpKTtcclxuICAgICAgICAvLyAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS53aWR0aChuZXd3aWR0aCk7XHJcbiAgICAgICAgY29uc3QgbmV3d2lkdGggPSBvcHRpb24ubGFiZWxzLmxlbmd0aCAqIG51bWJlck9mQmFycyAqIGxhYmVsV2lkdGg7XHJcbiAgICAgICAgJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkuY3NzKCd3aWR0aCcsIGBtYXgoMTAwJSwke25ld3dpZHRofXB4KWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBsZWZ0SWQgPSBgSSR7dXVpZC52NCgpfWA7XHJcbiAgICBjb25zdCByaWdodElkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gICAgY29uc3QgeUF4ZXMgPSBbe1xyXG4gICAgICB0eXBlOiAnbGluZWFyJyxcclxuICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgcG9zaXRpb246ICdsZWZ0JyxcclxuICAgICAgaWQ6IGxlZnRJZCxcclxuICAgICAgdGlja3M6IHtcclxuICAgICAgICBiZWdpbkF0WmVybzogb3B0aW9uLmJlZ2luQXRaZXJvID8/IHRydWUsXHJcbiAgICAgICAgc3VnZ2VzdGVkTWluOiAwLFxyXG4gICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueUxhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi55VGl0bGUsXHJcbiAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55VGl0bGUgfHwgJycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0YWNrZWQ6ISFvcHRpb24ueVN0YWNrZWQsXHJcbiAgICB9XTtcclxuICAgIGlmIChvcHRpb24uZGF0YXNldHMuc29tZShlID0+IGUueUFsaWduID09PSAncmlnaHQnKSkge1xyXG4gICAgICB5QXhlcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiAnbGluZWFyJyxcclxuICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLFxyXG4gICAgICAgIGlkOiByaWdodElkLFxyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogb3B0aW9uLmJlZ2luQXRaZXJvID8/IHRydWUsXHJcbiAgICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXHJcbiAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueVJpZ2h0TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueVJpZ2h0VGl0bGUsXHJcbiAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnlSaWdodFRpdGxlIHx8ICcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdGFja2VkOiEhb3B0aW9uLnlTdGFja2VkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IENoYXJ0LkNoYXJ0Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiAhb3B0aW9uLmhpZGVMZWdlbmQsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoZXZlbnQsIGxlZ2VuZEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gbGVnZW5kSXRlbS5kYXRhc2V0SW5kZXg7XHJcbiAgICAgICAgICAgIGxldCBjaSA9IHRoaXMuY2hhcnQ7XHJcbiAgICAgICAgICAgIGxldCBtZXRhID0gY2kuZ2V0RGF0YXNldE1ldGEoaW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9uLnNob3dUb3RhbFN0YWNrKXtcclxuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAvLyBTZWUgY29udHJvbGxlci5pc0RhdGFzZXRWaXNpYmxlIGNvbW1lbnRcclxuICAgICAgICAgICAgbWV0YS5oaWRkZW4gPSBtZXRhLmhpZGRlbiA9PT0gbnVsbCA/ICFjaS5kYXRhLmRhdGFzZXRzW2luZGV4XS5oaWRkZW4gOiBudWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAvLyBXZSBoaWQgYSBkYXRhc2V0IC4uLiByZXJlbmRlciB0aGUgY2hhcnRcclxuICAgICAgICAgICAgY2kudXBkYXRlKCk7ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvc2l0aW9uOiBvcHRpb24/LmxlZ2VuZFBvc2l0aW9uID8/ICd0b3AnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYXlvdXQ6e1xyXG4gICAgICAgICAgcGFkZGluZzoxMFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiBvcHRpb24udGl0bGVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeEF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi54VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi54VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnhMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzdGFja2VkOiAhIW9wdGlvbi54U3RhY2tlZFxyXG4gICAgICAgICAgfV0sXHJcbiAgICAgICAgICB5QXhlc1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHsgICAgICAgICAgXHJcbiAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSwgZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFzZXRMYWJlbCA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YT8ubGFiZWxzW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50b29sdGlwcz8ubGFiZWwoe1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRJbmRleDogdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4LFxyXG4gICAgICAgICAgICAgICAgZGF0YUluZGV4OnRvb2x0aXBJdGVtLmluZGV4XHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsID8gYFske2RhdGFzZXRMYWJlbH1dIGAgOiAnJ30gJHtsYWJlbH0gOiAke051bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbHM6IG9wdGlvbi5sYWJlbHMsXHJcbiAgICAgICAgZGF0YXNldHM6IG9wdGlvbi5kYXRhc2V0cy5tYXAoKGUsIGlkeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZHluYW1pY0NvbG9yID0gdGhpcy5keW5hbWljQ29sb3I7XHJcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IENoYXJ0LkNoYXJ0RGF0YVNldHMgPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IGUudHlwZSxcclxuICAgICAgICAgICAgbGFiZWw6IGUubGFiZWwsXHJcbiAgICAgICAgICAgIGZpbGw6IGUuYmFja2dyb3VuZENvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBlLmJvcmRlckNvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYm9yZGVyQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBkYXRhOiBlLmRhdGEsXHJcbiAgICAgICAgICAgIHlBeGlzSUQ6IGUueUFsaWduID09PSAncmlnaHQnID8gcmlnaHRJZCA6IGxlZnRJZCxcclxuICAgICAgICAgICAgbGluZVRlbnNpb246IDAsXHJcbiAgICAgICAgICAgIG9yZGVyOmUub3JkZXIgPz8gMVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0sXHJcbiAgICAgIHBsdWdpbnM6IHBsdWdpbnNcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbG9hZGluZ1N0YXJ0ID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZHluYW1pY0NvbG9yKCkge1xyXG4gICAgY29uc3QgciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XHJcbiAgICBjb25zdCBnID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcclxuICAgIGNvbnN0IGIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG4gICAgcmV0dXJuICdyZ2IoJyArIHIgKyAnLCcgKyBnICsgJywnICsgYiArICcpJztcclxuICB9XHJcblxyXG4gICNkcmF3VG90YWxPZlN0YWNrZWRCYXIgPSAoY2hhcnRUeXBlOidiYXJsaW5lJyB8ICdiYXInIHwgJ2hvcml6b250YWxCYXInKTpDaGFydC5QbHVnaW5TZXJ2aWNlUmVnaXN0cmF0aW9uT3B0aW9ucyA9PiB7XHJcbiAgICByZXR1cm4gIHtcclxuICAgICAgYWZ0ZXJEcmF3KGNoYXJ0SW5zdGFuY2UsIGVhc2luZywgb3B0aW9ucykge1xyXG4gICAgICAgIGlmIChjaGFydEluc3RhbmNlPy5kYXRhPy5kYXRhc2V0cz8ubGVuZ3RoKXtcclxuICAgICAgICAgIGNvbnN0IGN0eCA9IGNoYXJ0SW5zdGFuY2UuY3R4O1xyXG4gICAgICAgICAgY2hhcnRJbnN0YW5jZS5kYXRhLmRhdGFzZXRzWzBdLmRhdGEuZm9yRWFjaCggIChkYXRhUG9pbnQsaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgY3VyTGFzdEluZGV4ID0gMDtcclxuICAgICAgICAgICAgICBsZXQgY3VyVG90YWwgPSAwO1xyXG4gICAgICAgICAgICAgIGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKCAoZGF0YXNldCxzZXRJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGFzZXQuZGF0YVtpbmRleF0gIT0gMCAmJiAoIWRhdGFzZXQuaGlkZGVuKSAmJiBkYXRhc2V0LnR5cGUgIT09ICdsaW5lJyl7XHJcbiAgICAgICAgICAgICAgICAgIGN1ckxhc3RJbmRleCA9IHNldEluZGV4O1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyLmlzTnVtYmVyKGRhdGFzZXQuZGF0YVtpbmRleF0pKXtcclxuICAgICAgICAgICAgICAgICAgICBjdXJUb3RhbCArPSBOdW1iZXIoZGF0YXNldC5kYXRhW2luZGV4XSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgZWxzZSBjdXJUb3RhbCArPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgY29uc3Qge3gseX0gPSBjaGFydEluc3RhbmNlLmdldERhdGFzZXRNZXRhKGN1ckxhc3RJbmRleCkuZGF0YVtpbmRleF0uX21vZGVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dChjdXJUb3RhbC50b1N0cmluZygpKS53aWR0aDtcclxuICAgICAgICAgICAgICBjdHguZmlsbFN0eWxlPSAnYmxhY2snO1xyXG4gICAgICAgICAgICAgIGxldCB4VGV4dFBvc2l0aW9uID0gKHgtdGV4dFdpZHRoLzIgKSAtIHRleHRXaWR0aCA+IDAgPyAoeC10ZXh0V2lkdGgvMiApIDogMDtcclxuICAgICAgICAgICAgICBpZiAoaW5kZXggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB4VGV4dFBvc2l0aW9uID0geCArIDEwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIGlmIChpbmRleCA9PT0gY2hhcnRJbnN0YW5jZS5kYXRhLmRhdGFzZXRzWzBdLmRhdGEubGVuZ3RoIC0gMSApe1xyXG4gICAgICAgICAgICAgICAgeFRleHRQb3NpdGlvbiA9IHggLSB0ZXh0V2lkdGggLSAxMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgY3R4LmZvbnQgPSAnMzAwIDEwcHgnXHJcbiAgICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGN1clRvdGFsLnRvU3RyaW5nKCksIGNoYXJ0VHlwZSA9PT0gJ2hvcml6b250YWxCYXInID8geCArIDEwIDogeFRleHRQb3NpdGlvbiwgY2hhcnRUeXBlID09PSAnaG9yaXpvbnRhbEJhcicgPyB5IDogeS0xMCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9ICAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
759
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hhcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBYyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEtBQUssS0FBSyxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBU0wsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQU83QixNQUFNLE9BQU8sT0FBTztJQXFCbEIsWUFDVSxHQUFzQixFQUNZLGtCQUF1QztRQUR6RSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNZLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7UUF0QjNFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTVCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFjbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFdBQU0sR0FBRyxPQUFPLENBQUM7UUFtdEJqQixpQkFBWSxHQUFHLEdBQUcsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDLENBQUE7UUFTRCxpQ0FBeUIsQ0FBQyxTQUE2QyxFQUF5QyxFQUFFO1lBQ2hILE9BQVE7Z0JBQ04sU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTzs7b0JBQ3RDLGdCQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxJQUFJLDBDQUFFLFFBQVEsMENBQUUsTUFBTSxFQUFDO3dCQUN4QyxNQUFNLEdBQUcsR0FBRyxh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QUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7Ozs7WUFudkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsbWdCQUFxQzs7YUFFdEM7OztZQXJCd0UsaUJBQWlCOzRDQTZDckYsUUFBUSxZQUFJLE1BQU0sU0FBQyxZQUFZOzs7MEJBbEJqQyxLQUFLO3VCQU9MLFNBQVMsU0FBQyxPQUFPOzhCQUNqQixTQUFTLFNBQUMsY0FBYzsyQkFDeEIsU0FBUyxTQUFDLFdBQVc7d0NBQ3JCLFNBQVMsU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgQ2hhcnQgZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQge1xyXG4gIFNkQ2hhcnRPcHRpb24sXHJcbiAgQmFyQ2hhcnRPcHRpb24sXHJcbiAgTGluZUNoYXJ0T3B0aW9uLFxyXG4gIFBpZUNoYXJ0T3B0aW9uLFxyXG4gIEJhckxpbmVDaGFydE9wdGlvbixcclxuICBTdGFja0FyZWFDaGFydE9wdGlvbixcclxuICBIb3Jpem9udGFsQmFyQ2hhcnRPcHRpb24sXHJcbiAgSUNoYXJ0Q29uZmlndXJhdGlvbixcclxuICBDSEFSVF9DT05GSUcsXHJcbiAgRG91Z2hudXRDaGFydE9wdGlvblxyXG59IGZyb20gJy4vY2hhcnQubW9kZWwnO1xyXG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1jaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGFydC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZENoYXJ0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBwQ2hhcnRPcHRpb246IFNkQ2hhcnRPcHRpb247XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBjaGFydE9wdGlvbihjaGFydE9wdGlvbjogU2RDaGFydE9wdGlvbikge1xyXG4gICAgdGhpcy5wQ2hhcnRPcHRpb24gPSBjaGFydE9wdGlvbjtcclxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyQ2hhcnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0JykgY2hhcnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY2hhcnRXcmFwcGVyJykgY2hhcnRXcmFwcGVyUmVmOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0QXhpcycpIGNoYXJ0QXhpc1JlZjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjaGFydEFyZWFXcmFwcGVyRXh0ZW5kJykgY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZjogRWxlbWVudFJlZjtcclxuICBjaGFydDogQ2hhcnQ7XHJcbiAgdmlzaWJsZSA9IHRydWU7XHJcbiAgaGVpZ2h0ID0gJzMwMHB4JztcclxuICBwcml2YXRlIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ0hBUlRfQ09ORklHKSBwcml2YXRlIGNoYXJ0Q29uZmlndXJhdGlvbjogSUNoYXJ0Q29uZmlndXJhdGlvblxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlckNoYXJ0KHRydWUpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJlbmRlckNoYXJ0KGZpcnN0UmVuZGVyPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5oZWlnaHQgPSB0aGlzLnBDaGFydE9wdGlvbj8uaGVpZ2h0IHx8ICczMDBweCc7XHJcbiAgICBpZiAoIWZpcnN0UmVuZGVyKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwKSk7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwKSk7XHJcbiAgICBpZiAodGhpcy5jaGFydFJlZj8ubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBjYW52YXMgPSB0aGlzLmNoYXJ0UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XHJcbiAgICAgIHRoaXMuY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5wQ2hhcnRPcHRpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ3BpZSc6XHJcbiAgICAgICAgICB0aGlzLnJlbmRlclBpZUNoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2Jhcic6XHJcbiAgICAgICAgICB0aGlzLnJlbmRlckJhckNoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2hvcml6b250YWxCYXInOlxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJIb3Jpem9udGFsQmFyQ2hhcnQodGhpcy5wQ2hhcnRPcHRpb24pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnbGluZSc6XHJcbiAgICAgICAgICB0aGlzLnJlbmRlckxpbmVDaGFydCh0aGlzLnBDaGFydE9wdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdGFja0FyZWEnOlxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJTdGFja0FyZWFDaGFydCh0aGlzLnBDaGFydE9wdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdiYXJsaW5lJzpcclxuICAgICAgICAgIHRoaXMucmVuZGVyQmFyTGluZUNoYXJ0KHRoaXMucENoYXJ0T3B0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RvdWdobnV0JzpcclxuICAgICAgICAgIHRoaXMucmVuZGVyRG91Z2hudXRDaGFydCh0aGlzLnBDaGFydE9wdGlvbik7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclBpZUNoYXJ0KG9wdGlvbjogUGllQ2hhcnRPcHRpb24pIHtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IENoYXJ0LkNoYXJ0Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgdHlwZTogJ3BpZScsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogb3B0aW9uLnRpdGxlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICFvcHRpb24uaGlkZUxlZ2VuZFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YXNldExhYmVsID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhPy5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRvb2x0aXBzPy5sYWJlbCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsID8gYFske2RhdGFzZXRMYWJlbH1dIGAgOiAnJ30ke2xhYmVsfSA6ICR7TnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGxhYmVsczogb3B0aW9uLmRhdGFzZXRzPy5tYXAoZSA9PiBlLmxhYmVsKSB8fCBbXSxcclxuICAgICAgICBkYXRhc2V0czogW3tcclxuICAgICAgICAgIGRhdGE6IG9wdGlvbi5kYXRhc2V0cz8ubWFwKGUgPT4gZS52YWx1ZSkgfHwgW10sXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IG9wdGlvbi5kYXRhc2V0cz8ubWFwKChlLCBpZHgpID0+IGUuYmFja2dyb3VuZENvbG9yXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yXHJcbiAgICAgICAgICAgIHx8IHRoaXMuZHluYW1pY0NvbG9yKSB8fCBbXVxyXG4gICAgICAgIH1dXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJEb3VnaG51dENoYXJ0KG9wdGlvbjpEb3VnaG51dENoYXJ0T3B0aW9uKXtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IENoYXJ0LkNoYXJ0Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgdHlwZTogJ2RvdWdobnV0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzpmYWxzZSxcclxuICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgIHRleHQ6IG9wdGlvbi50aXRsZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiAhb3B0aW9uLmhpZGVMZWdlbmRcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7XHJcbiAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSwgZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFzZXRMYWJlbCA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YT8ubGFiZWxzW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50b29sdGlwcz8ubGFiZWwoe1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICAgIH0pIHx8IGAke2RhdGFzZXRMYWJlbCA/IGBbJHtkYXRhc2V0TGFiZWx9XSBgIDogJyd9JHtsYWJlbH0gOiAke051bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbHM6IG9wdGlvbi5kYXRhc2V0cz8ubWFwKGUgPT4gZS5sYWJlbCkgfHwgW10sXHJcbiAgICAgICAgZGF0YXNldHM6IFt7XHJcbiAgICAgICAgICBkYXRhOiBvcHRpb24uZGF0YXNldHM/Lm1hcChlID0+IGUudmFsdWUpIHx8IFtdLFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBvcHRpb24uZGF0YXNldHM/Lm1hcCgoZSwgaWR4KSA9PiBlLmJhY2tncm91bmRDb2xvclxyXG4gICAgICAgICAgICB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvclxyXG4gICAgICAgICAgICB8fCB0aGlzLmR5bmFtaWNDb2xvcikgfHwgW11cclxuICAgICAgICB9XVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcHRpb24uaG92ZXIgPT09ICdTaG93QWxsJykge1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jdHgsIGNvbmZpZ3VyYXRpb24pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyQmFyQ2hhcnQob3B0aW9uOiBCYXJDaGFydE9wdGlvbikge1xyXG4gICAgY29uc3QgbGFiZWxXaWR0aCA9IG9wdGlvbi5sYWJlbFdpZHRoID8/IDUwO1xyXG4gICAgaWYgKG9wdGlvbi5kYXRhc2V0cy5sZW5ndGgpIHtcclxuICAgICAgLy8gY29uc3QgbmV3d2lkdGggPSBNYXRoLm1heChvcHRpb24ubGFiZWxzLmxlbmd0aCAqIG9wdGlvbi5kYXRhc2V0cy5sZW5ndGggKiBsYWJlbFdpZHRoLCAkKHRoaXMuY2hhcnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKCkpO1xyXG4gICAgICAvLyAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS53aWR0aChuZXd3aWR0aCk7XHJcbiAgICAgIGNvbnN0IG5ld3dpZHRoID0gb3B0aW9uLmxhYmVscy5sZW5ndGggKiBvcHRpb24uZGF0YXNldHMubGVuZ3RoICogbGFiZWxXaWR0aDtcclxuICAgICAgJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkuY3NzKCd3aWR0aCcsIGBtYXgoMTAwJSwke25ld3dpZHRofXB4KWApO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogQ2hhcnQuQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICFvcHRpb24uaGlkZUxlZ2VuZFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgICB4QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnhUaXRsZSxcclxuICAgICAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnhUaXRsZSB8fCAnJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueExhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgeUF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgYmVnaW5BdFplcm86IG9wdGlvbi5iZWdpbkF0WmVybyA/PyB0cnVlLFxyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueUxhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi55VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7XHJcbiAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSwgZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFzZXRMYWJlbCA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YT8ubGFiZWxzW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50b29sdGlwcz8ubGFiZWwoe1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICAgIH0pIHx8IGAke2RhdGFzZXRMYWJlbH0gOiAke051bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdiYXInLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbGFiZWxzOiBvcHRpb24ubGFiZWxzLFxyXG4gICAgICAgIGRhdGFzZXRzOiBvcHRpb24uZGF0YXNldHMubWFwKChlLCBpZHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR5bmFtaWNDb2xvciA9IHRoaXMuZHluYW1pY0NvbG9yO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBDaGFydC5DaGFydERhdGFTZXRzID0ge1xyXG4gICAgICAgICAgICBsYWJlbDogZS5sYWJlbCxcclxuICAgICAgICAgICAgZmlsbDogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGUuYmFja2dyb3VuZENvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgICBzdGFjazogZS5zdGFja1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3B0aW9uLmhvdmVyID09PSAnU2hvd0FsbCcpIHtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyxcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyID0ge1xyXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlcixcclxuICAgICAgICBtb2RlOiAnaW5kZXgnLFxyXG4gICAgICAgIGludGVyc2VjdDogZmFsc2VcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHRoaXMuY3R4LCBjb25maWd1cmF0aW9uKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlckhvcml6b250YWxCYXJDaGFydChvcHRpb246IEhvcml6b250YWxCYXJDaGFydE9wdGlvbikge1xyXG4gICAgLy8gY29uc3QgbGFiZWxXaWR0aCA9IG9wdGlvbi5sYWJlbFdpZHRoID8/IDUwO1xyXG4gICAgLy8gaWYgKG9wdGlvbi5kYXRhc2V0cy5sZW5ndGgpIHtcclxuICAgIC8vICAgY29uc3QgbmV3d2lkdGggPSBNYXRoLm1heChvcHRpb24ubGFiZWxzLmxlbmd0aCAqIG9wdGlvbi5kYXRhc2V0cy5sZW5ndGggKiBsYWJlbFdpZHRoLCAkKHRoaXMuY2hhcnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKCkpO1xyXG4gICAgLy8gICAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS53aWR0aChuZXd3aWR0aCk7XHJcbiAgICAvLyB9XHJcbiAgICBjb25zdCBwbHVnaW5zOkNoYXJ0LlBsdWdpblNlcnZpY2VSZWdpc3RyYXRpb25PcHRpb25zW10gPSBbXTtcclxuICAgIGlmIChvcHRpb24uc2hvd1RvdGFsU3RhY2spe1xyXG4gICAgICBwbHVnaW5zLnB1c2godGhpcy4jZHJhd1RvdGFsT2ZTdGFja2VkQmFyKG9wdGlvbi50eXBlKSlcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IENoYXJ0LkNoYXJ0Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiAhb3B0aW9uLmhpZGVMZWdlbmQsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoZXZlbnQsIGxlZ2VuZEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gbGVnZW5kSXRlbS5kYXRhc2V0SW5kZXg7XHJcbiAgICAgICAgICAgIGxldCBjaSA9IHRoaXMuY2hhcnQ7XHJcbiAgICAgICAgICAgIGxldCBtZXRhID0gY2kuZ2V0RGF0YXNldE1ldGEoaW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9uLnNob3dUb3RhbFN0YWNrKXtcclxuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAvLyBTZWUgY29udHJvbGxlci5pc0RhdGFzZXRWaXNpYmxlIGNvbW1lbnRcclxuICAgICAgICAgICAgbWV0YS5oaWRkZW4gPSBtZXRhLmhpZGRlbiA9PT0gbnVsbCA/ICFjaS5kYXRhLmRhdGFzZXRzW2luZGV4XS5oaWRkZW4gOiBudWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAvLyBXZSBoaWQgYSBkYXRhc2V0IC4uLiByZXJlbmRlciB0aGUgY2hhcnRcclxuICAgICAgICAgICAgY2kudXBkYXRlKCk7ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxheW91dDp7XHJcbiAgICAgICAgICBwYWRkaW5nOntcclxuICAgICAgICAgICAgcmlnaHQ6MjBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeEF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi54VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi54VGl0bGUgfHwgJycsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN0YWNrZWQ6dHJ1ZSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBiZWdpbkF0WmVybzogb3B0aW9uLmJlZ2luQXRaZXJvID8/IHRydWUsXHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy54TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgeUF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHN0YWNrZWQ6dHJ1ZSxcclxuICAgICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnlMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueVRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueVRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1dXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwczoge1xyXG4gICAgICAgICAgbW9kZTonbmVhcmVzdCcsXHJcbiAgICAgICAgICBheGlzOid5JyxcclxuICAgICAgICAgIGNhbGxiYWNrczoge1xyXG4gICAgICAgICAgICBsYWJlbDogKHRvb2x0aXBJdGVtLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YXNldExhYmVsID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhPy5sYWJlbHNbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdIGFzIG51bWJlcjtcclxuICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRvb2x0aXBzPy5sYWJlbCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0TGFiZWwsXHJcbiAgICAgICAgICAgICAgICBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfSkgfHwgYCR7ZGF0YXNldExhYmVsfSA6ICR7TnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSl9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2hvcml6b250YWxCYXInLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbGFiZWxzOiBvcHRpb24ubGFiZWxzLFxyXG4gICAgICAgIGRhdGFzZXRzOiBvcHRpb24uZGF0YXNldHMubWFwKChlLCBpZHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR5bmFtaWNDb2xvciA9IHRoaXMuZHluYW1pY0NvbG9yO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBDaGFydC5DaGFydERhdGFTZXRzID0ge1xyXG4gICAgICAgICAgICBsYWJlbDogZS5sYWJlbCxcclxuICAgICAgICAgICAgZmlsbDogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGUuYmFja2dyb3VuZENvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgICBzdGFjazogZS5zdGFja1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgfSxcclxuICAgICAgcGx1Z2luczpwbHVnaW5zXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcHRpb24uaG92ZXIgPT09ICdTaG93QWxsJykge1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jdHgsIGNvbmZpZ3VyYXRpb24pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyTGluZUNoYXJ0KG9wdGlvbjogTGluZUNoYXJ0T3B0aW9uKSB7XHJcbiAgICBjb25zdCBsYWJlbFdpZHRoID0gb3B0aW9uLmxhYmVsV2lkdGggPz8gNTA7XHJcbiAgICBpZiAob3B0aW9uLmRhdGFzZXRzLmxlbmd0aCkge1xyXG4gICAgICAvLyBjb25zdCBuZXd3aWR0aCA9IE1hdGgubWF4KG9wdGlvbi5sYWJlbHMubGVuZ3RoICogbGFiZWxXaWR0aCwgJCh0aGlzLmNoYXJ0V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50KS53aWR0aCgpKTtcclxuICAgICAgLy8gJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkud2lkdGgobmV3d2lkdGgpO1xyXG4gICAgICBjb25zdCBuZXd3aWR0aCA9IG9wdGlvbi5sYWJlbHMubGVuZ3RoICogbGFiZWxXaWR0aDtcclxuICAgICAgJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkuY3NzKCd3aWR0aCcsIGBtYXgoMTAwJSwke25ld3dpZHRofXB4KWApO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbjogQ2hhcnQuQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICFvcHRpb24uaGlkZUxlZ2VuZFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgICB4QXhlczogW3tcclxuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgc2NhbGVMYWJlbDoge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnhUaXRsZSxcclxuICAgICAgICAgICAgICBsYWJlbFN0cmluZzogb3B0aW9uLnhUaXRsZSB8fCAnJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueExhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9XSxcclxuICAgICAgICAgIHlBeGVzOiBbe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgIGJlZ2luQXRaZXJvOiBvcHRpb24uYmVnaW5BdFplcm8gPz8gdHJ1ZSxcclxuICAgICAgICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnlMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueVRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueVRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1dXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwczoge1xyXG4gICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgIGxhYmVsOiAodG9vbHRpcEl0ZW0sIGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRhc2V0TGFiZWwgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5sYWJlbDtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IGRhdGE/LmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8uZGF0YVt0b29sdGlwSXRlbS5pbmRleF0gYXMgbnVtYmVyO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udG9vbHRpcHM/LmxhYmVsKHtcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRMYWJlbCxcclxuICAgICAgICAgICAgICAgIGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICB9KSB8fCBgJHtkYXRhc2V0TGFiZWx9IDogJHtOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnbGluZScsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsYWJlbHM6IG9wdGlvbi5sYWJlbHMsXHJcbiAgICAgICAgZGF0YXNldHM6IG9wdGlvbi5kYXRhc2V0cy5tYXAoKGUsIGlkeCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZHluYW1pY0NvbG9yID0gdGhpcy5keW5hbWljQ29sb3I7XHJcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IENoYXJ0LkNoYXJ0RGF0YVNldHMgPSB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBlLmxhYmVsLFxyXG4gICAgICAgICAgICBmaWxsOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogZS5ib3JkZXJDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJvcmRlckNvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgICBsaW5lVGVuc2lvbjogMCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wdGlvbi5ob3ZlciA9PT0gJ1Nob3dBbGwnKSB7XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy50b29sdGlwcyA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5ob3ZlciA9IHtcclxuICAgICAgICAuLi5jb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIsXHJcbiAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmN0eCwgY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJTdGFja0FyZWFDaGFydChvcHRpb246IFN0YWNrQXJlYUNoYXJ0T3B0aW9uKSB7XHJcbiAgICBjb25zdCBsYWJlbFdpZHRoID0gb3B0aW9uLmxhYmVsV2lkdGggPz8gNTA7XHJcbiAgICBcclxuICAgIGlmIChvcHRpb24uZGF0YXNldHMubGVuZ3RoKSB7XHJcbiAgICAgIC8vIGNvbnN0IG5ld3dpZHRoID0gTWF0aC5tYXgob3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoLCAkKHRoaXMuY2hhcnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKCkpO1xyXG4gICAgICAvLyAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS53aWR0aChuZXd3aWR0aCk7XHJcbiAgICAgIGNvbnN0IG5ld3dpZHRoID0gb3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoO1xyXG4gICAgICAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS5jc3MoJ3dpZHRoJywgYG1heCgxMDAlLCR7bmV3d2lkdGh9cHgpYCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBDaGFydC5DaGFydENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogIW9wdGlvbi5oaWRlTGVnZW5kXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueFRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueFRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy54TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgeUF4ZXM6IFt7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgYmVnaW5BdFplcm86IG9wdGlvbi5iZWdpbkF0WmVybyA/PyB0cnVlLFxyXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aWNrcz8ueUxhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN0YWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiAhIW9wdGlvbi55VGl0bGUsXHJcbiAgICAgICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55VGl0bGUgfHwgJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7XHJcbiAgICAgICAgICBjYWxsYmFja3M6IHtcclxuICAgICAgICAgICAgbGFiZWw6ICh0b29sdGlwSXRlbSwgZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGFzZXRMYWJlbCA9IGRhdGE/LmRhdGFzZXRzW3Rvb2x0aXBJdGVtLmRhdGFzZXRJbmRleF0/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YT8ubGFiZWxzW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5kYXRhW3Rvb2x0aXBJdGVtLmluZGV4XSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50b29sdGlwcz8ubGFiZWwoe1xyXG4gICAgICAgICAgICAgICAgZGF0YXNldExhYmVsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICAgIH0pIHx8IGAke2RhdGFzZXRMYWJlbH0gOiAke051bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdsaW5lJyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGxhYmVsczogb3B0aW9uLmxhYmVscyxcclxuICAgICAgICBkYXRhc2V0czogb3B0aW9uLmRhdGFzZXRzLm1hcCgoZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkeW5hbWljQ29sb3IgPSB0aGlzLmR5bmFtaWNDb2xvcjtcclxuICAgICAgICAgIGNvbnN0IHJlc3VsdDogQ2hhcnQuQ2hhcnREYXRhU2V0cyA9IHtcclxuICAgICAgICAgICAgbGFiZWw6IGUubGFiZWwsXHJcbiAgICAgICAgICAgIC8vIGZpbGw6IGUuYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGUuYmFja2dyb3VuZENvbG9yIHx8IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5kZWZhdWx0Q29sb3JzPy5baWR4XT8uYmFja2dyb3VuZENvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGUuYm9yZGVyQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5ib3JkZXJDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGRhdGE6IGUuZGF0YSxcclxuICAgICAgICAgICAgbGluZVRlbnNpb246IDAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcHRpb24uaG92ZXIgPT09ICdTaG93QWxsJykge1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jdHgsIGNvbmZpZ3VyYXRpb24pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyQmFyTGluZUNoYXJ0KG9wdGlvbjogQmFyTGluZUNoYXJ0T3B0aW9uKSB7XHJcbiAgICBjb25zdCBwbHVnaW5zOkNoYXJ0LlBsdWdpblNlcnZpY2VSZWdpc3RyYXRpb25PcHRpb25zW10gPSBbXTtcclxuICAgIGlmIChvcHRpb24uc2hvd1RvdGFsU3RhY2spe1xyXG4gICAgICBwbHVnaW5zLnB1c2godGhpcy4jZHJhd1RvdGFsT2ZTdGFja2VkQmFyKG9wdGlvbi50eXBlKSlcclxuICAgIH1cclxuICAgIGNvbnN0IGxhYmVsV2lkdGggPSBvcHRpb24ubGFiZWxXaWR0aCA/PyA1MDtcclxuICAgIGlmIChvcHRpb24uZGF0YXNldHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG51bWJlck9mQmFycyA9IG9wdGlvbi5kYXRhc2V0cy5maWx0ZXIoZSA9PiBlLnR5cGUgPT09ICdiYXInKS5sZW5ndGg7XHJcbiAgICAgIGlmIChudW1iZXJPZkJhcnMgPD0gMSkge1xyXG4gICAgICAgIC8vIGNvbnN0IG5ld3dpZHRoID0gTWF0aC5tYXgob3B0aW9uLmxhYmVscy5sZW5ndGggKiBsYWJlbFdpZHRoLCAkKHRoaXMuY2hhcnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKCkpO1xyXG4gICAgICAgIC8vICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLndpZHRoKG5ld3dpZHRoKTtcclxuICAgICAgICBjb25zdCBuZXd3aWR0aCA9IG9wdGlvbi5sYWJlbHMubGVuZ3RoICogbGFiZWxXaWR0aDtcclxuICAgICAgICAkKHRoaXMuY2hhcnRBcmVhV3JhcHBlckV4dGVuZFJlZi5uYXRpdmVFbGVtZW50KS5jc3MoJ3dpZHRoJywgYG1heCgxMDAlLCR7bmV3d2lkdGh9cHgpYCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gY29uc3QgbmV3d2lkdGggPSBNYXRoLm1heChvcHRpb24ubGFiZWxzLmxlbmd0aCAqIG51bWJlck9mQmFycyAqIGxhYmVsV2lkdGgsICQodGhpcy5jaGFydFdyYXBwZXJSZWYubmF0aXZlRWxlbWVudCkud2lkdGgoKSk7XHJcbiAgICAgICAgLy8gJCh0aGlzLmNoYXJ0QXJlYVdyYXBwZXJFeHRlbmRSZWYubmF0aXZlRWxlbWVudCkud2lkdGgobmV3d2lkdGgpO1xyXG4gICAgICAgIGNvbnN0IG5ld3dpZHRoID0gb3B0aW9uLmxhYmVscy5sZW5ndGggKiBudW1iZXJPZkJhcnMgKiBsYWJlbFdpZHRoO1xyXG4gICAgICAgICQodGhpcy5jaGFydEFyZWFXcmFwcGVyRXh0ZW5kUmVmLm5hdGl2ZUVsZW1lbnQpLmNzcygnd2lkdGgnLCBgbWF4KDEwMCUsJHtuZXd3aWR0aH1weClgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgbGVmdElkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gICAgY29uc3QgcmlnaHRJZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICAgIGNvbnN0IHlBeGVzID0gW3tcclxuICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgIGlkOiBsZWZ0SWQsXHJcbiAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgYmVnaW5BdFplcm86IG9wdGlvbi5iZWdpbkF0WmVybyA/PyB0cnVlLFxyXG4gICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcclxuICAgICAgICBjYWxsYmFjazogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnlMYWJlbCh2YWx1ZSwgaW5kZXgpIHx8IChOdW1iZXIuaXNOdW1iZXIodmFsdWUpID8gTnVtYmVyLnRvVk5DdXJyZW5jeSh2YWx1ZSkgOiB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgZGlzcGxheTogISFvcHRpb24ueVRpdGxlLFxyXG4gICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueVRpdGxlIHx8ICcnLFxyXG4gICAgICB9LFxyXG4gICAgICBzdGFja2VkOiEhb3B0aW9uLnlTdGFja2VkLFxyXG4gICAgfV07XHJcbiAgICBpZiAob3B0aW9uLmRhdGFzZXRzLnNvbWUoZSA9PiBlLnlBbGlnbiA9PT0gJ3JpZ2h0JykpIHtcclxuICAgICAgeUF4ZXMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcclxuICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JyxcclxuICAgICAgICBpZDogcmlnaHRJZCxcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgYmVnaW5BdFplcm86IG9wdGlvbi5iZWdpbkF0WmVybyA/PyB0cnVlLFxyXG4gICAgICAgICAgc3VnZ2VzdGVkTWluOiAwLFxyXG4gICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcHRpb24udGlja3M/LnlSaWdodExhYmVsKHZhbHVlLCBpbmRleCkgfHwgKE51bWJlci5pc051bWJlcih2YWx1ZSkgPyBOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKSA6IHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNjYWxlTGFiZWw6IHtcclxuICAgICAgICAgIGRpc3BsYXk6ICEhb3B0aW9uLnlSaWdodFRpdGxlLFxyXG4gICAgICAgICAgbGFiZWxTdHJpbmc6IG9wdGlvbi55UmlnaHRUaXRsZSB8fCAnJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RhY2tlZDohIW9wdGlvbi55U3RhY2tlZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBDaGFydC5DaGFydENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogIW9wdGlvbi5oaWRlTGVnZW5kLFxyXG4gICAgICAgICAgb25DbGljazogKGV2ZW50LCBsZWdlbmRJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBpbmRleCA9IGxlZ2VuZEl0ZW0uZGF0YXNldEluZGV4O1xyXG4gICAgICAgICAgICBsZXQgY2kgPSB0aGlzLmNoYXJ0O1xyXG4gICAgICAgICAgICBsZXQgbWV0YSA9IGNpLmdldERhdGFzZXRNZXRhKGluZGV4KTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbi5zaG93VG90YWxTdGFjayl7XHJcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgLy8gU2VlIGNvbnRyb2xsZXIuaXNEYXRhc2V0VmlzaWJsZSBjb21tZW50XHJcbiAgICAgICAgICAgIG1ldGEuaGlkZGVuID0gbWV0YS5oaWRkZW4gPT09IG51bGwgPyAhY2kuZGF0YS5kYXRhc2V0c1tpbmRleF0uaGlkZGVuIDogbnVsbDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLy8gV2UgaGlkIGEgZGF0YXNldCAuLi4gcmVyZW5kZXIgdGhlIGNoYXJ0XHJcbiAgICAgICAgICAgIGNpLnVwZGF0ZSgpOyAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBwb3NpdGlvbjogb3B0aW9uPy5sZWdlbmRQb3NpdGlvbiA/PyAndG9wJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGF5b3V0OntcclxuICAgICAgICAgIHBhZGRpbmc6MTBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogb3B0aW9uLnRpdGxlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBzY2FsZUxhYmVsOiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogISFvcHRpb24ueFRpdGxlLFxyXG4gICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiBvcHRpb24ueFRpdGxlIHx8ICcnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnRpY2tzPy54TGFiZWwodmFsdWUsIGluZGV4KSB8fCAoTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSA/IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpIDogdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3RhY2tlZDogISFvcHRpb24ueFN0YWNrZWRcclxuICAgICAgICAgIH1dLFxyXG4gICAgICAgICAgeUF4ZXNcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvb2x0aXBzOiB7ICAgICAgICAgIFxyXG4gICAgICAgICAgY2FsbGJhY2tzOiB7XHJcbiAgICAgICAgICAgIGxhYmVsOiAodG9vbHRpcEl0ZW0sIGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYXRhc2V0TGFiZWwgPSBkYXRhPy5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdPy5sYWJlbDtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IGRhdGE/LmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF0gYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YT8uZGF0YXNldHNbdG9vbHRpcEl0ZW0uZGF0YXNldEluZGV4XT8uZGF0YVt0b29sdGlwSXRlbS5pbmRleF0gYXMgbnVtYmVyO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udG9vbHRpcHM/LmxhYmVsKHtcclxuICAgICAgICAgICAgICAgIGRhdGFzZXRMYWJlbCxcclxuICAgICAgICAgICAgICAgIGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBkYXRhc2V0SW5kZXg6IHRvb2x0aXBJdGVtLmRhdGFzZXRJbmRleCxcclxuICAgICAgICAgICAgICAgIGRhdGFJbmRleDp0b29sdGlwSXRlbS5pbmRleFxyXG4gICAgICAgICAgICAgIH0pIHx8IGAke2RhdGFzZXRMYWJlbCA/IGBbJHtkYXRhc2V0TGFiZWx9XSBgIDogJyd9ICR7bGFiZWx9IDogJHtOdW1iZXIudG9WTkN1cnJlbmN5KHZhbHVlKX1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbGFiZWxzOiBvcHRpb24ubGFiZWxzLFxyXG4gICAgICAgIGRhdGFzZXRzOiBvcHRpb24uZGF0YXNldHMubWFwKChlLCBpZHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR5bmFtaWNDb2xvciA9IHRoaXMuZHluYW1pY0NvbG9yO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBDaGFydC5DaGFydERhdGFTZXRzID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBlLnR5cGUsXHJcbiAgICAgICAgICAgIGxhYmVsOiBlLmxhYmVsLFxyXG4gICAgICAgICAgICBmaWxsOiBlLmJhY2tncm91bmRDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJhY2tncm91bmRDb2xvciB8fCBkeW5hbWljQ29sb3IsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogZS5iYWNrZ3JvdW5kQ29sb3IgfHwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmRlZmF1bHRDb2xvcnM/LltpZHhdPy5iYWNrZ3JvdW5kQ29sb3IgfHwgZHluYW1pY0NvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogZS5ib3JkZXJDb2xvciB8fCB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbj8uZGVmYXVsdENvbG9ycz8uW2lkeF0/LmJvcmRlckNvbG9yIHx8IGR5bmFtaWNDb2xvcixcclxuICAgICAgICAgICAgZGF0YTogZS5kYXRhLFxyXG4gICAgICAgICAgICB5QXhpc0lEOiBlLnlBbGlnbiA9PT0gJ3JpZ2h0JyA/IHJpZ2h0SWQgOiBsZWZ0SWQsXHJcbiAgICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgICBvcmRlcjplLm9yZGVyID8/IDFcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9LFxyXG4gICAgICBwbHVnaW5zOiBwbHVnaW5zXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChvcHRpb24uaG92ZXIgPT09ICdTaG93QWxsJykge1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMudG9vbHRpcHMgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLnRvb2x0aXBzLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMuaG92ZXIgPSB7XHJcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLmhvdmVyLFxyXG4gICAgICAgIG1vZGU6ICdpbmRleCcsXHJcbiAgICAgICAgaW50ZXJzZWN0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jdHgsIGNvbmZpZ3VyYXRpb24pO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGxvYWRpbmdTdGFydCA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGR5bmFtaWNDb2xvcigpIHtcclxuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG4gICAgY29uc3QgZyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XHJcbiAgICBjb25zdCBiID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcclxuICAgIHJldHVybiAncmdiKCcgKyByICsgJywnICsgZyArICcsJyArIGIgKyAnKSc7XHJcbiAgfVxyXG5cclxuICAjZHJhd1RvdGFsT2ZTdGFja2VkQmFyID0gKGNoYXJ0VHlwZTonYmFybGluZScgfCAnYmFyJyB8ICdob3Jpem9udGFsQmFyJyk6Q2hhcnQuUGx1Z2luU2VydmljZVJlZ2lzdHJhdGlvbk9wdGlvbnMgPT4ge1xyXG4gICAgcmV0dXJuICB7XHJcbiAgICAgIGFmdGVyRHJhdyhjaGFydEluc3RhbmNlLCBlYXNpbmcsIG9wdGlvbnMpIHtcclxuICAgICAgICBpZiAoY2hhcnRJbnN0YW5jZT8uZGF0YT8uZGF0YXNldHM/Lmxlbmd0aCl7XHJcbiAgICAgICAgICBjb25zdCBjdHggPSBjaGFydEluc3RhbmNlLmN0eDtcclxuICAgICAgICAgIGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0c1swXS5kYXRhLmZvckVhY2goICAoZGF0YVBvaW50LGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGN1ckxhc3RJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgbGV0IGN1clRvdGFsID0gMDtcclxuICAgICAgICAgICAgICBjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHMuZm9yRWFjaCggKGRhdGFzZXQsc2V0SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhc2V0LmRhdGFbaW5kZXhdICE9IDAgJiYgKCFkYXRhc2V0LmhpZGRlbikgJiYgZGF0YXNldC50eXBlICE9PSAnbGluZScpe1xyXG4gICAgICAgICAgICAgICAgICBjdXJMYXN0SW5kZXggPSBzZXRJbmRleDtcclxuICAgICAgICAgICAgICAgICAgaWYgKE51bWJlci5pc051bWJlcihkYXRhc2V0LmRhdGFbaW5kZXhdKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VyVG90YWwgKz0gTnVtYmVyKGRhdGFzZXQuZGF0YVtpbmRleF0pO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGVsc2UgY3VyVG90YWwgKz0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIGNvbnN0IHt4LHl9ID0gY2hhcnRJbnN0YW5jZS5nZXREYXRhc2V0TWV0YShjdXJMYXN0SW5kZXgpLmRhdGFbaW5kZXhdLl9tb2RlbDtcclxuICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBjdHgubWVhc3VyZVRleHQoY3VyVG90YWwudG9TdHJpbmcoKSkud2lkdGg7XHJcbiAgICAgICAgICAgICAgY3R4LmZpbGxTdHlsZT0gJ2JsYWNrJztcclxuICAgICAgICAgICAgICBsZXQgeFRleHRQb3NpdGlvbiA9ICh4LXRleHRXaWR0aC8yICkgLSB0ZXh0V2lkdGggPiAwID8gKHgtdGV4dFdpZHRoLzIgKSA6IDA7XHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID09IDApe1xyXG4gICAgICAgICAgICAgICAgeFRleHRQb3NpdGlvbiA9IHggKyAxMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSBpZiAoaW5kZXggPT09IGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0c1swXS5kYXRhLmxlbmd0aCAtIDEgKXtcclxuICAgICAgICAgICAgICAgIHhUZXh0UG9zaXRpb24gPSB4IC0gdGV4dFdpZHRoIC0gMTA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGN0eC5mb250ID0gJzMwMCAxMHB4J1xyXG4gICAgICAgICAgICAgIGN0eC5maWxsVGV4dChjdXJUb3RhbC50b1N0cmluZygpLCBjaGFydFR5cGUgPT09ICdob3Jpem9udGFsQmFyJyA/IHggKyAxMCA6IHhUZXh0UG9zaXRpb24sIGNoYXJ0VHlwZSA9PT0gJ2hvcml6b250YWxCYXInID8geSA6IHktMTApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSAgICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -88,4 +88,4 @@ export const ChartColors = {
88
88
  White: '#FFFFFF',
89
89
  };
90
90
  export const CHART_CONFIG = new InjectionToken('chart.configuration');
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoYXJ0LyIsInNvdXJjZXMiOlsic3JjL2xpYi9jaGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixLQUFLLEVBQUUsbUJBQW1CO0lBQzFCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0lBQ25CLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFpS0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFzQixxQkFBcUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBDaGFydENvbG9ycyA9IHtcclxuICBSZWQ6ICdyZ2IoMjU1LCA5OSwgMTMyKScsXHJcbiAgT3JhbmdlOiAncmdiKDI1NSwgMTU5LCA2NCknLFxyXG4gIFllbGxvdzogJ3JnYigyNTUsIDIwNSwgODYpJyxcclxuICBHcmVlbjogJ3JnYig3NSwgMTkyLCAxOTIpJyxcclxuICBCbHVlOiAncmdiKDU0LCAxNjIsIDIzNSknLFxyXG4gIFB1cnBsZTogJ3JnYigxNTMsIDEwMiwgMjU1KScsXHJcbiAgR3JleTogJ3JnYigyMDEsIDIwMywgMjA3KScsXHJcbiAgUHVycGxlNzAwOiAnIzJFMjI0QycsXHJcbiAgUHVycGxlNjAwOiAnIzQ1MzM3MicsXHJcbiAgUHVycGxlNTAwOiAnIzU3NDE5MScsXHJcbiAgUHVycGxlNDAwOiAnIzczNTZCRicsXHJcbiAgUHVycGxlMzAwOiAnIzk1N0ZDRScsXHJcbiAgUHVycGxlMjAwOiAnI0MxQjRFMicsXHJcbiAgUHVycGxlMTAwOiAnI0UzRERGMicsXHJcbiAgUHVycGxlNTA6ICcjRjNGMUY5JyxcclxuICBCbHVlNzAwOiAnIzBGMkM2MCcsXHJcbiAgQmx1ZTYwMDogJyMxNzQyOTEnLFxyXG4gIEJsdWU1MDA6ICcjMUQ1M0I3JyxcclxuICBCbHVlNDAwOiAnIzI3NkVGMScsXHJcbiAgQmx1ZTMwMDogJyM1QTkwRjQnLFxyXG4gIEJsdWUyMDA6ICcjOUZCRkY4JyxcclxuICBCbHVlMTAwOiAnI0Q0RTJGQycsXHJcbiAgQmx1ZTUwOiAnI0VERjNGRCcsXHJcbiAgR3JlZW43MDA6ICcjMEQ0MDIwJyxcclxuICBHcmVlbjYwMDogJyMxNTZBMzYnLFxyXG4gIEdyZWVuNTAwOiAnIzA5ODYzRCcsXHJcbiAgR3JlZW40MDA6ICcjMjFBNDUzJyxcclxuICBHcmVlbjMwMDogJyM0M0JGNzUnLFxyXG4gIEdyZWVuMjAwOiAnIzlFRTJCOCcsXHJcbiAgR3JlZW4xMDA6ICcjQ0ZGM0REJyxcclxuICBHcmVlbjUwOiAnI0YwRkFGMycsXHJcbiAgWWVsbG93NzAwOiAnIzY2NEMxQScsXHJcbiAgWWVsbG93NjAwOiAnIzk5NzMyOCcsXHJcbiAgWWVsbG93NTAwOiAnI0MxOTEzMicsXHJcbiAgWWVsbG93NDAwOiAnI0ZGQzA0MycsXHJcbiAgWWVsbG93MzAwOiAnI0ZGQ0Y3MCcsXHJcbiAgWWVsbG93MjAwOiAnI0ZGRTNBQycsXHJcbiAgWWVsbG93MTAwOiAnI0ZGRjJEOScsXHJcbiAgWWVsbG93NTA6ICcjRkZGOUVGJyxcclxuICBPcmFuZ2U3MDA6ICcjNUYyQzE0JyxcclxuICBPcmFuZ2U2MDA6ICcjOEU0MjFFJyxcclxuICBPcmFuZ2U1MDA6ICcjQjQ1MzI2JyxcclxuICBPcmFuZ2U0MDA6ICcjRUQ2RTMzJyxcclxuICBPcmFuZ2UzMDA6ICcjRjE5MDYzJyxcclxuICBPcmFuZ2UyMDA6ICcjRjdCRkE1JyxcclxuICBPcmFuZ2UxMDA6ICcjRkJFMkQ2JyxcclxuICBPcmFuZ2U1MDogJyNGREYzRUUnLFxyXG4gIFJlZDcwMDogJyM1NDFBMTQnLFxyXG4gIFJlZDYwMDogJyM3RjI4MUUnLFxyXG4gIFJlZDUwMDogJyNBMTMyMjYnLFxyXG4gIFJlZDQwMDogJyNENDQzMzMnLFxyXG4gIFJlZDMwMDogJyNERTcwNjMnLFxyXG4gIFJlZDIwMDogJyNFQ0FDQTUnLFxyXG4gIFJlZDEwMDogJyNGNkQ5RDYnLFxyXG4gIFJlZDUwOiAnI0ZCRUZFRScsXHJcbiAgQnJvd243MDA6ICcjM0QyODFFJyxcclxuICBCcm93bjYwMDogJyM1QjNDMkQnLFxyXG4gIEJyb3duNTAwOiAnIzc0NEMzOScsXHJcbiAgQnJvd240MDA6ICcjOTk2NDRDJyxcclxuICBCcm93bjMwMDogJyNCMTg5NzYnLFxyXG4gIEJyb3duMjAwOiAnI0QyQkFCMCcsXHJcbiAgQnJvd24xMDA6ICcjRUJFMERCJyxcclxuICBCcm93bjUwOiAnI0Y2RjJGMCcsXHJcbiAgR3JheTkwMDogJyMxNDE0MTQnLFxyXG4gIEdyYXk4MDA6ICcjMUYxRjFGJyxcclxuICBHcmF5NzAwOiAnIzMzMzMzMycsXHJcbiAgR3JheTYwMDogJyM1NDU0NTQnLFxyXG4gIEdyYXk1MDA6ICcjNzU3NTc1JyxcclxuICBHcmF5NDAwOiAnI0FGQUZBRicsXHJcbiAgR3JheTMwMDogJyNDQkNCQ0InLFxyXG4gIEdyYXkyMDA6ICcjRTJFMkUyJyxcclxuICBHcmF5MTAwOiAnI0VFRUVFRScsXHJcbiAgR3JheTUwOiAnI0Y2RjZGNicsXHJcbiAgUGxhdGludW03MDA6ICcjMzk0MTQ1JyxcclxuICBQbGF0aW51bTYwMDogJyM1NTYyNjgnLFxyXG4gIFBsYXRpbnVtNTAwOiAnIzZDN0M4MycsXHJcbiAgUGxhdGludW00MDA6ICcjOEVBM0FEJyxcclxuICBQbGF0aW51bTMwMDogJyNBMUJEQ0EnLFxyXG4gIFBsYXRpbnVtMjAwOiAnI0NDREZFNScsXHJcbiAgUGxhdGludW0xMDA6ICcjRUJGNUY3JyxcclxuICBQbGF0aW51bTUwOiAnI0Y0RkFGQicsXHJcbiAgRWF0c0dyZWVuNDAwOiAnIzIxQTQ1MycsXHJcbiAgRnJlaWdodEJsdWU0MDA6ICcjMjFBNDUzJyxcclxuICBKdW1wUmVkNDAwOiAnI0ZGMEEyRCcsXHJcbiAgQmxhY2s6ICcjMDAwMDAwJyxcclxuICBXaGl0ZTogJyNGRkZGRkYnLFxyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2RDaGFydE9wdGlvbiA9IERvdWdobnV0Q2hhcnRPcHRpb24gfCBQaWVDaGFydE9wdGlvbiB8XHJcbiAgQmFyQ2hhcnRPcHRpb24gfFxyXG4gIEhvcml6b250YWxCYXJDaGFydE9wdGlvbiB8XHJcbiAgTGluZUNoYXJ0T3B0aW9uIHxcclxuICBTdGFja0FyZWFDaGFydE9wdGlvbiB8XHJcbiAgQmFyTGluZUNoYXJ0T3B0aW9uO1xyXG5cclxuaW50ZXJmYWNlIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGhpZGVMZWdlbmQ/OiBib29sZWFuO1xyXG4gIGxlZ2VuZFBvc2l0aW9uPzonbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyB8ICdjaGFydEFyZWEnXHJcbiAgdG9vbHRpcHM/OiB7XHJcbiAgICBsYWJlbDogKHBhcmFtczogeyBkYXRhc2V0TGFiZWw/OiBzdHJpbmcsIGxhYmVsPzogc3RyaW5nLCB2YWx1ZT86IG51bWJlcixkYXRhc2V0SW5kZXg/Om51bWJlcixkYXRhSW5kZXg/Om51bWJlcjsgfSkgPT4gc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQaWVDaGFydE9wdGlvbiBleHRlbmRzIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdHlwZTogJ3BpZSc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogbnVtYmVyLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmdcclxuICB9W107XHJcbiAgaG92ZXI/OiAnU2hvd0FsbCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRG91Z2hudXRDaGFydE9wdGlvbiBleHRlbmRzIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdHlwZTogJ2RvdWdobnV0JztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBkYXRhc2V0czoge1xyXG4gICAgbGFiZWw6IHN0cmluZyxcclxuICAgIHZhbHVlOiBudW1iZXIsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1xyXG4gIH1bXTtcclxuICBob3Zlcj86ICdTaG93QWxsJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYXJDaGFydE9wdGlvbiBleHRlbmRzIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdHlwZTogJ2Jhcic7XHJcbiAgeFRpdGxlPzogc3RyaW5nO1xyXG4gIHlUaXRsZT86IHN0cmluZztcclxuICBsYWJlbHM6IHN0cmluZ1tdO1xyXG4gIGRhdGFzZXRzOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0YTogbnVtYmVyW107XHJcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZyxcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAgIHN0YWNrPzogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBiZWdpbkF0WmVybz86IGJvb2xlYW47XHJcbiAgbGFiZWxXaWR0aD86IG51bWJlcjtcclxuICB0aWNrcz86IHtcclxuICAgIHhMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcsXHJcbiAgICB5TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nXHJcbiAgfTtcclxuICBob3Zlcj86ICdTaG93QWxsJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIb3Jpem9udGFsQmFyQ2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdob3Jpem9udGFsQmFyJztcclxuICB4VGl0bGU/OiBzdHJpbmc7XHJcbiAgeVRpdGxlPzogc3RyaW5nO1xyXG4gIGxhYmVsczogc3RyaW5nW107XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBudW1iZXJbXTtcclxuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nLFxyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gICAgc3RhY2s/OiBzdHJpbmc7XHJcbiAgfVtdO1xyXG4gIGJlZ2luQXRaZXJvPzogYm9vbGVhbjtcclxuICBsYWJlbFdpZHRoPzogbnVtYmVyO1xyXG4gIHRpY2tzPzoge1xyXG4gICAgeExhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyxcclxuICAgIHlMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmdcclxuICB9O1xyXG4gIGhvdmVyPzogJ1Nob3dBbGwnO1xyXG4gIHNob3dUb3RhbFN0YWNrPzpib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVDaGFydE9wdGlvbiBleHRlbmRzIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdHlwZTogJ2xpbmUnO1xyXG4gIHhUaXRsZT86IHN0cmluZztcclxuICB5VGl0bGU/OiBzdHJpbmc7XHJcbiAgbGFiZWxzOiBzdHJpbmdbXTtcclxuICBkYXRhc2V0czoge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGRhdGE6IG51bWJlcltdO1xyXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmcsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgfVtdO1xyXG4gIGJlZ2luQXRaZXJvPzogYm9vbGVhbjtcclxuICBsYWJlbFdpZHRoPzogbnVtYmVyO1xyXG4gIHRpY2tzPzoge1xyXG4gICAgeExhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyxcclxuICAgIHlMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmdcclxuICB9O1xyXG4gIGhvdmVyPzogJ1Nob3dBbGwnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQXJlYUNoYXJ0T3B0aW9uIGV4dGVuZHMgQmFzZUNoYXJ0T3B0aW9uIHtcclxuICB0eXBlOiAnc3RhY2tBcmVhJztcclxuICB4VGl0bGU/OiBzdHJpbmc7XHJcbiAgeVRpdGxlPzogc3RyaW5nO1xyXG4gIGxhYmVsczogc3RyaW5nW107XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBudW1iZXJbXTtcclxuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nLFxyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBiZWdpbkF0WmVybz86IGJvb2xlYW47XHJcbiAgbGFiZWxXaWR0aD86IG51bWJlcjtcclxuICB0aWNrcz86IHtcclxuICAgIHhMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcsXHJcbiAgICB5TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nXHJcbiAgfTtcclxuICBob3Zlcj86ICdTaG93QWxsJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYXJMaW5lQ2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdiYXJsaW5lJztcclxuICB4VGl0bGU/OiBzdHJpbmc7XHJcbiAgeFN0YWNrZWQ/OmJvb2xlYW47XHJcbiAgeVRpdGxlPzogc3RyaW5nO1xyXG4gIHlTdGFja2VkPzpib29sZWFuO1xyXG4gIHlSaWdodFRpdGxlPzogc3RyaW5nO1xyXG4gIGxhYmVsczogc3RyaW5nW107XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIHR5cGU6ICdiYXInIHwgJ2xpbmUnLFxyXG4gICAgeUFsaWduPzogJ2xlZnQnIHwgJ3JpZ2h0JyxcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBudW1iZXJbXTtcclxuICAgIG9yZGVyPzpudW1iZXI7XHJcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZztcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICB9W107XHJcbiAgYmVnaW5BdFplcm8/OiBib29sZWFuO1xyXG4gIGxhYmVsV2lkdGg/OiBudW1iZXI7XHJcbiAgdGlja3M/OiB7XHJcbiAgICB4TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nLFxyXG4gICAgeUxhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyxcclxuICAgIHlSaWdodExhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZ1xyXG4gIH07XHJcbiAgaG92ZXI/OiAnU2hvd0FsbCc7XHJcbiAgc2hvd1RvdGFsU3RhY2s/OmJvb2xlYW5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXJ0Q29uZmlndXJhdGlvbiB7XHJcbiAgZGVmYXVsdENvbG9ycz86IHtcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZyxcclxuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nXHJcbiAgfVtdO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IENIQVJUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ2hhcnRDb25maWd1cmF0aW9uPignY2hhcnQuY29uZmlndXJhdGlvbicpO1xyXG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGFydC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsR0FBRyxFQUFFLG1CQUFtQjtJQUN4QixNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsU0FBUztJQUNqQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztJQUNuQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztJQUNuQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixRQUFRLEVBQUUsU0FBUztJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsU0FBUztJQUNqQixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixVQUFVLEVBQUUsU0FBUztJQUNyQixZQUFZLEVBQUUsU0FBUztJQUN2QixjQUFjLEVBQUUsU0FBUztJQUN6QixVQUFVLEVBQUUsU0FBUztJQUNyQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztDQUNqQixDQUFDO0FBaUtGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBc0IscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgQ2hhcnRDb2xvcnMgPSB7XHJcbiAgUmVkOiAncmdiKDI1NSwgOTksIDEzMiknLFxyXG4gIE9yYW5nZTogJ3JnYigyNTUsIDE1OSwgNjQpJyxcclxuICBZZWxsb3c6ICdyZ2IoMjU1LCAyMDUsIDg2KScsXHJcbiAgR3JlZW46ICdyZ2IoNzUsIDE5MiwgMTkyKScsXHJcbiAgQmx1ZTogJ3JnYig1NCwgMTYyLCAyMzUpJyxcclxuICBQdXJwbGU6ICdyZ2IoMTUzLCAxMDIsIDI1NSknLFxyXG4gIEdyZXk6ICdyZ2IoMjAxLCAyMDMsIDIwNyknLFxyXG4gIFB1cnBsZTcwMDogJyMyRTIyNEMnLFxyXG4gIFB1cnBsZTYwMDogJyM0NTMzNzInLFxyXG4gIFB1cnBsZTUwMDogJyM1NzQxOTEnLFxyXG4gIFB1cnBsZTQwMDogJyM3MzU2QkYnLFxyXG4gIFB1cnBsZTMwMDogJyM5NTdGQ0UnLFxyXG4gIFB1cnBsZTIwMDogJyNDMUI0RTInLFxyXG4gIFB1cnBsZTEwMDogJyNFM0RERjInLFxyXG4gIFB1cnBsZTUwOiAnI0YzRjFGOScsXHJcbiAgQmx1ZTcwMDogJyMwRjJDNjAnLFxyXG4gIEJsdWU2MDA6ICcjMTc0MjkxJyxcclxuICBCbHVlNTAwOiAnIzFENTNCNycsXHJcbiAgQmx1ZTQwMDogJyMyNzZFRjEnLFxyXG4gIEJsdWUzMDA6ICcjNUE5MEY0JyxcclxuICBCbHVlMjAwOiAnIzlGQkZGOCcsXHJcbiAgQmx1ZTEwMDogJyNENEUyRkMnLFxyXG4gIEJsdWU1MDogJyNFREYzRkQnLFxyXG4gIEdyZWVuNzAwOiAnIzBENDAyMCcsXHJcbiAgR3JlZW42MDA6ICcjMTU2QTM2JyxcclxuICBHcmVlbjUwMDogJyMwOTg2M0QnLFxyXG4gIEdyZWVuNDAwOiAnIzIxQTQ1MycsXHJcbiAgR3JlZW4zMDA6ICcjNDNCRjc1JyxcclxuICBHcmVlbjIwMDogJyM5RUUyQjgnLFxyXG4gIEdyZWVuMTAwOiAnI0NGRjNERCcsXHJcbiAgR3JlZW41MDogJyNGMEZBRjMnLFxyXG4gIFllbGxvdzcwMDogJyM2NjRDMUEnLFxyXG4gIFllbGxvdzYwMDogJyM5OTczMjgnLFxyXG4gIFllbGxvdzUwMDogJyNDMTkxMzInLFxyXG4gIFllbGxvdzQwMDogJyNGRkMwNDMnLFxyXG4gIFllbGxvdzMwMDogJyNGRkNGNzAnLFxyXG4gIFllbGxvdzIwMDogJyNGRkUzQUMnLFxyXG4gIFllbGxvdzEwMDogJyNGRkYyRDknLFxyXG4gIFllbGxvdzUwOiAnI0ZGRjlFRicsXHJcbiAgT3JhbmdlNzAwOiAnIzVGMkMxNCcsXHJcbiAgT3JhbmdlNjAwOiAnIzhFNDIxRScsXHJcbiAgT3JhbmdlNTAwOiAnI0I0NTMyNicsXHJcbiAgT3JhbmdlNDAwOiAnI0VENkUzMycsXHJcbiAgT3JhbmdlMzAwOiAnI0YxOTA2MycsXHJcbiAgT3JhbmdlMjAwOiAnI0Y3QkZBNScsXHJcbiAgT3JhbmdlMTAwOiAnI0ZCRTJENicsXHJcbiAgT3JhbmdlNTA6ICcjRkRGM0VFJyxcclxuICBSZWQ3MDA6ICcjNTQxQTE0JyxcclxuICBSZWQ2MDA6ICcjN0YyODFFJyxcclxuICBSZWQ1MDA6ICcjQTEzMjI2JyxcclxuICBSZWQ0MDA6ICcjRDQ0MzMzJyxcclxuICBSZWQzMDA6ICcjREU3MDYzJyxcclxuICBSZWQyMDA6ICcjRUNBQ0E1JyxcclxuICBSZWQxMDA6ICcjRjZEOUQ2JyxcclxuICBSZWQ1MDogJyNGQkVGRUUnLFxyXG4gIEJyb3duNzAwOiAnIzNEMjgxRScsXHJcbiAgQnJvd242MDA6ICcjNUIzQzJEJyxcclxuICBCcm93bjUwMDogJyM3NDRDMzknLFxyXG4gIEJyb3duNDAwOiAnIzk5NjQ0QycsXHJcbiAgQnJvd24zMDA6ICcjQjE4OTc2JyxcclxuICBCcm93bjIwMDogJyNEMkJBQjAnLFxyXG4gIEJyb3duMTAwOiAnI0VCRTBEQicsXHJcbiAgQnJvd241MDogJyNGNkYyRjAnLFxyXG4gIEdyYXk5MDA6ICcjMTQxNDE0JyxcclxuICBHcmF5ODAwOiAnIzFGMUYxRicsXHJcbiAgR3JheTcwMDogJyMzMzMzMzMnLFxyXG4gIEdyYXk2MDA6ICcjNTQ1NDU0JyxcclxuICBHcmF5NTAwOiAnIzc1NzU3NScsXHJcbiAgR3JheTQwMDogJyNBRkFGQUYnLFxyXG4gIEdyYXkzMDA6ICcjQ0JDQkNCJyxcclxuICBHcmF5MjAwOiAnI0UyRTJFMicsXHJcbiAgR3JheTEwMDogJyNFRUVFRUUnLFxyXG4gIEdyYXk1MDogJyNGNkY2RjYnLFxyXG4gIFBsYXRpbnVtNzAwOiAnIzM5NDE0NScsXHJcbiAgUGxhdGludW02MDA6ICcjNTU2MjY4JyxcclxuICBQbGF0aW51bTUwMDogJyM2QzdDODMnLFxyXG4gIFBsYXRpbnVtNDAwOiAnIzhFQTNBRCcsXHJcbiAgUGxhdGludW0zMDA6ICcjQTFCRENBJyxcclxuICBQbGF0aW51bTIwMDogJyNDQ0RGRTUnLFxyXG4gIFBsYXRpbnVtMTAwOiAnI0VCRjVGNycsXHJcbiAgUGxhdGludW01MDogJyNGNEZBRkInLFxyXG4gIEVhdHNHcmVlbjQwMDogJyMyMUE0NTMnLFxyXG4gIEZyZWlnaHRCbHVlNDAwOiAnIzIxQTQ1MycsXHJcbiAgSnVtcFJlZDQwMDogJyNGRjBBMkQnLFxyXG4gIEJsYWNrOiAnIzAwMDAwMCcsXHJcbiAgV2hpdGU6ICcjRkZGRkZGJyxcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNkQ2hhcnRPcHRpb24gPSBEb3VnaG51dENoYXJ0T3B0aW9uIHwgUGllQ2hhcnRPcHRpb24gfFxyXG4gIEJhckNoYXJ0T3B0aW9uIHxcclxuICBIb3Jpem9udGFsQmFyQ2hhcnRPcHRpb24gfFxyXG4gIExpbmVDaGFydE9wdGlvbiB8XHJcbiAgU3RhY2tBcmVhQ2hhcnRPcHRpb24gfFxyXG4gIEJhckxpbmVDaGFydE9wdGlvbjtcclxuXHJcbmludGVyZmFjZSBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICBoaWRlTGVnZW5kPzogYm9vbGVhbjtcclxuICBsZWdlbmRQb3NpdGlvbj86J2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2hhcnRBcmVhJ1xyXG4gIHRvb2x0aXBzPzoge1xyXG4gICAgbGFiZWw6IChwYXJhbXM6IHsgZGF0YXNldExhYmVsPzogc3RyaW5nLCBsYWJlbD86IHN0cmluZywgdmFsdWU/OiBudW1iZXIsZGF0YXNldEluZGV4PzpudW1iZXIsZGF0YUluZGV4PzpudW1iZXI7IH0pID0+IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGllQ2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdwaWUnO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGRhdGFzZXRzOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgdmFsdWU6IG51bWJlcixcclxuICAgIGJhY2tncm91bmRDb2xvcjogc3RyaW5nXHJcbiAgfVtdO1xyXG4gIGhvdmVyPzogJ1Nob3dBbGwnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvdWdobnV0Q2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdkb3VnaG51dCc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogbnVtYmVyLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmdcclxuICB9W107XHJcbiAgaG92ZXI/OiAnU2hvd0FsbCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFyQ2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdiYXInO1xyXG4gIHhUaXRsZT86IHN0cmluZztcclxuICB5VGl0bGU/OiBzdHJpbmc7XHJcbiAgbGFiZWxzOiBzdHJpbmdbXTtcclxuICBkYXRhc2V0czoge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGRhdGE6IG51bWJlcltdO1xyXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmcsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBzdGFjaz86IHN0cmluZztcclxuICB9W107XHJcbiAgYmVnaW5BdFplcm8/OiBib29sZWFuO1xyXG4gIGxhYmVsV2lkdGg/OiBudW1iZXI7XHJcbiAgdGlja3M/OiB7XHJcbiAgICB4TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nLFxyXG4gICAgeUxhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZ1xyXG4gIH07XHJcbiAgaG92ZXI/OiAnU2hvd0FsbCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSG9yaXpvbnRhbEJhckNoYXJ0T3B0aW9uIGV4dGVuZHMgQmFzZUNoYXJ0T3B0aW9uIHtcclxuICB0eXBlOiAnaG9yaXpvbnRhbEJhcic7XHJcbiAgeFRpdGxlPzogc3RyaW5nO1xyXG4gIHlUaXRsZT86IHN0cmluZztcclxuICBsYWJlbHM6IHN0cmluZ1tdO1xyXG4gIGRhdGFzZXRzOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0YTogbnVtYmVyW107XHJcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZyxcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAgIHN0YWNrPzogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBiZWdpbkF0WmVybz86IGJvb2xlYW47XHJcbiAgbGFiZWxXaWR0aD86IG51bWJlcjtcclxuICB0aWNrcz86IHtcclxuICAgIHhMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcsXHJcbiAgICB5TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nXHJcbiAgfTtcclxuICBob3Zlcj86ICdTaG93QWxsJztcclxuICBzaG93VG90YWxTdGFjaz86Ym9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lQ2hhcnRPcHRpb24gZXh0ZW5kcyBCYXNlQ2hhcnRPcHRpb24ge1xyXG4gIHR5cGU6ICdsaW5lJztcclxuICB4VGl0bGU/OiBzdHJpbmc7XHJcbiAgeVRpdGxlPzogc3RyaW5nO1xyXG4gIGxhYmVsczogc3RyaW5nW107XHJcbiAgZGF0YXNldHM6IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkYXRhOiBudW1iZXJbXTtcclxuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nLFxyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBiZWdpbkF0WmVybz86IGJvb2xlYW47XHJcbiAgbGFiZWxXaWR0aD86IG51bWJlcjtcclxuICB0aWNrcz86IHtcclxuICAgIHhMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcsXHJcbiAgICB5TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nXHJcbiAgfTtcclxuICBob3Zlcj86ICdTaG93QWxsJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGFja0FyZWFDaGFydE9wdGlvbiBleHRlbmRzIEJhc2VDaGFydE9wdGlvbiB7XHJcbiAgdHlwZTogJ3N0YWNrQXJlYSc7XHJcbiAgeFRpdGxlPzogc3RyaW5nO1xyXG4gIHlUaXRsZT86IHN0cmluZztcclxuICBsYWJlbHM6IHN0cmluZ1tdO1xyXG4gIGRhdGFzZXRzOiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0YTogbnVtYmVyW107XHJcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZyxcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICB9W107XHJcbiAgYmVnaW5BdFplcm8/OiBib29sZWFuO1xyXG4gIGxhYmVsV2lkdGg/OiBudW1iZXI7XHJcbiAgdGlja3M/OiB7XHJcbiAgICB4TGFiZWw/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nLFxyXG4gICAgeUxhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZ1xyXG4gIH07XHJcbiAgaG92ZXI/OiAnU2hvd0FsbCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFyTGluZUNoYXJ0T3B0aW9uIGV4dGVuZHMgQmFzZUNoYXJ0T3B0aW9uIHtcclxuICB0eXBlOiAnYmFybGluZSc7XHJcbiAgeFRpdGxlPzogc3RyaW5nO1xyXG4gIHhTdGFja2VkPzpib29sZWFuO1xyXG4gIHlUaXRsZT86IHN0cmluZztcclxuICB5U3RhY2tlZD86Ym9vbGVhbjtcclxuICB5UmlnaHRUaXRsZT86IHN0cmluZztcclxuICBsYWJlbHM6IHN0cmluZ1tdO1xyXG4gIGRhdGFzZXRzOiB7XHJcbiAgICB0eXBlOiAnYmFyJyB8ICdsaW5lJyxcclxuICAgIHlBbGlnbj86ICdsZWZ0JyB8ICdyaWdodCcsXHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGF0YTogbnVtYmVyW107XHJcbiAgICBvcmRlcj86bnVtYmVyO1xyXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgfVtdO1xyXG4gIGJlZ2luQXRaZXJvPzogYm9vbGVhbjtcclxuICBsYWJlbFdpZHRoPzogbnVtYmVyO1xyXG4gIHRpY2tzPzoge1xyXG4gICAgeExhYmVsPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyxcclxuICAgIHlMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcsXHJcbiAgICB5UmlnaHRMYWJlbD86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiBzdHJpbmdcclxuICB9O1xyXG4gIGhvdmVyPzogJ1Nob3dBbGwnO1xyXG4gIHNob3dUb3RhbFN0YWNrPzpib29sZWFuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDaGFydENvbmZpZ3VyYXRpb24ge1xyXG4gIGRlZmF1bHRDb2xvcnM/OiB7XHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcsXHJcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZ1xyXG4gIH1bXTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBDSEFSVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUNoYXJ0Q29uZmlndXJhdGlvbj4oJ2NoYXJ0LmNvbmZpZ3VyYXRpb24nKTtcclxuIl19
@@ -17,4 +17,4 @@ SdChartModule.decorators = [
17
17
  providers: []
18
18
  },] }
19
19
  ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGFydC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWU1QyxNQUFNLE9BQU8sYUFBYTs7O1lBYnpCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osT0FBTztpQkFDUjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsT0FBTztpQkFDUjtnQkFDRCxTQUFTLEVBQUUsRUFDVjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2RDaGFydCB9IGZyb20gJy4vY2hhcnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkQ2hhcnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNkQ2hhcnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ2hhcnRNb2R1bGUgeyB9XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hhcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2NoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFlNUMsTUFBTSxPQUFPLGFBQWE7OztZQWJ6QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLE9BQU87aUJBQ1I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE9BQU87aUJBQ1I7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNkQ2hhcnQgfSBmcm9tICcuL2NoYXJ0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZENoYXJ0XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZENoYXJ0XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZENoYXJ0TW9kdWxlIHsgfVxyXG4iXX0=
@@ -2,4 +2,4 @@ import '@sd-angular/core/common';
2
2
  export { SdChartModule } from './lib/chart.module';
3
3
  export * from './lib/chart.component';
4
4
  export * from './lib/chart.model';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hhcnQvIiwic291cmNlcyI6WyJzcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuZXhwb3J0IHsgU2RDaGFydE1vZHVsZSB9IGZyb20gJy4vbGliL2NoYXJ0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0Lm1vZGVsJztcclxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoYXJ0LyIsInNvdXJjZXMiOlsic3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcbmV4cG9ydCB7IFNkQ2hhcnRNb2R1bGUgfSBmcm9tICcuL2xpYi9jaGFydC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC5tb2RlbCc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './src/public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoZWNrYm94LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3B1YmxpYy1hcGknOyJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGVja2JveC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWMtYXBpJzsiXX0=
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export * from './index';
5
5
  export { SdCheckbox as ɵa } from './src/lib/checkbox.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGVja2JveC8iLCJzb3VyY2VzIjpbInNkLWFuZ3VsYXItY29yZS1jaGVja2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge1NkQ2hlY2tib3ggYXMgybVhfSBmcm9tICcuL3NyYy9saWIvY2hlY2tib3guY29tcG9uZW50JzsiXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWNoZWNrYm94LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hlY2tib3gvIiwic291cmNlcyI6WyJzZC1hbmd1bGFyLWNvcmUtY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtTZENoZWNrYm94IGFzIMm1YX0gZnJvbSAnLi9zcmMvbGliL2NoZWNrYm94LmNvbXBvbmVudCc7Il19
@@ -87,4 +87,4 @@ SdCheckbox.propDecorators = {
87
87
  modelChange: [{ type: Output }],
88
88
  sdChange: [{ type: Output }]
89
89
  };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGVja2JveC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBTTdCLE1BQU0sT0FBTyxVQUFVO0lBeUNyQixZQUNVLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekNoQyxPQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNyQixnQkFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUM7UUFNbEIsd0JBQWlCO1FBVWpCLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyx3QkFBZ0IsSUFBSSxZQUFZLEVBQUUsRUFBQztRQUUxQixVQUFLLEdBQXVCLFNBQVMsQ0FBQztRQVMvQyx5QkFBWTtRQVNGLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQW1CN0Msb0JBQVksQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUE7SUFuQkQsQ0FBQztJQXhDRCxJQUFhLElBQUksQ0FBQyxHQUFXO1FBQzNCLElBQUksR0FBRyxFQUFFO1lBQ1AsdUJBQUEsSUFBSSxTQUFTLEdBQUcsRUFBQztTQUNsQjtJQUNILENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxHQUF1QjtRQUN2QyxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksR0FBRyxZQUFZLE1BQU0sRUFBRTtnQkFDekIsdUJBQUEsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsdUJBQUEsSUFBSSxTQUFTLEdBQUcsRUFBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztJQUtELElBQWEsUUFBUSxDQUFDLEdBQWlCO1FBQ3JDLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDMUIsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELElBQWEsS0FBSyxDQUFDLEtBQVU7UUFDM0IsSUFBSSx5Q0FBZ0IsS0FBSyxFQUFFO1lBQ3pCLHVCQUFBLElBQUksVUFBVSxLQUFLLEVBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUMvQixTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFPRCxRQUFRO0lBQ1IsQ0FBQztJQUVELGVBQWU7O1FBQ2IsNENBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLHlDQUFnQixDQUFDLENBQUM7UUFDaEYsbUZBQVksVUFBVSxzQ0FBYSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7O1FBQ1QsbUZBQVksYUFBYSxzQ0FBYTtRQUN0Qyw0Q0FBbUIsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7OztZQTdERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLGtHQUF3QzthQUN6Qzs7O1lBUmdELGlCQUFpQjs7O21CQVkvRCxLQUFLO21CQU1MLEtBQUs7b0JBV0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUs7b0JBU0wsS0FBSzswQkFRTCxNQUFNO3VCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZENoZWNrYm94IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIGlkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gICNuYW1lID0gdXVpZC52NCgpO1xyXG4gIEBJbnB1dCgpIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuI25hbWUgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsOiBOZ0Zvcm0gfCBGb3JtR3JvdXApIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5nRm9ybSkge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWwuZm9ybTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNtb2RlbDogYW55O1xyXG4gIEBJbnB1dCgpIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy4jbW9kZWwgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuI21vZGVsID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHtcclxuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodGhpcy4jb25DaGFuZ2UpKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gICNvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hlY2tib3gvIiwic291cmNlcyI6WyJzcmMvbGliL2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQU03QixNQUFNLE9BQU8sVUFBVTtJQXlDckIsWUFDVSxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXpDaEMsT0FBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDckIsZ0JBQVEsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDO1FBTWxCLHdCQUFpQjtRQVVqQixnQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsd0JBQWdCLElBQUksWUFBWSxFQUFFLEVBQUM7UUFFMUIsVUFBSyxHQUF1QixTQUFTLENBQUM7UUFTL0MseUJBQVk7UUFTRixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFtQjdDLG9CQUFZLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFBO0lBbkJELENBQUM7SUF4Q0QsSUFBYSxJQUFJLENBQUMsR0FBVztRQUMzQixJQUFJLEdBQUcsRUFBRTtZQUNQLHVCQUFBLElBQUksU0FBUyxHQUFHLEVBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsSUFBYSxJQUFJLENBQUMsR0FBdUI7UUFDdkMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7Z0JBQ3pCLHVCQUFBLElBQUksU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLHVCQUFBLElBQUksU0FBUyxHQUFHLEVBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFLRCxJQUFhLFFBQVEsQ0FBQyxHQUFpQjtRQUNyQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQzFCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFVO1FBQzNCLElBQUkseUNBQWdCLEtBQUssRUFBRTtZQUN6Qix1QkFBQSxJQUFJLFVBQVUsS0FBSyxFQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtnQkFDL0IsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBT0QsUUFBUTtJQUNSLENBQUM7SUFFRCxlQUFlOztRQUNiLDRDQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyx5Q0FBZ0IsQ0FBQyxDQUFDO1FBQ2hGLG1GQUFZLFVBQVUsc0NBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXOztRQUNULG1GQUFZLGFBQWEsc0NBQWE7UUFDdEMsNENBQW1CLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7Ozs7WUE3REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixrR0FBd0M7YUFDekM7OztZQVJnRCxpQkFBaUI7OzttQkFZL0QsS0FBSzttQkFNTCxLQUFLO29CQVdMLEtBQUs7b0JBQ0wsS0FBSzt1QkFDTCxLQUFLO29CQVNMLEtBQUs7MEJBUUwsTUFBTTt1QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RDaGVja2JveCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBjb2xvcjogJ3ByaW1hcnknIHwgJ3dhcm4nID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAjbW9kZWw6IGFueTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuI21vZGVsICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlLCB7XHJcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRoaXMuI29uQ2hhbmdlKSk7XHJcbiAgICB0aGlzLiNmb3JtPy5hZGRDb250cm9sKHRoaXMuI25hbWUsIHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAjb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuc2RDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -23,4 +23,4 @@ SdCheckboxModule.decorators = [
23
23
  ]
24
24
  },] }
25
25
  ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGVja2JveC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFpQmxELE1BQU0sT0FBTyxnQkFBZ0I7OztZQWY1QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsaUJBQWlCO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osVUFBVTtpQkFDWDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsVUFBVTtpQkFDWDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2RDaGVja2JveCB9IGZyb20gJy4vY2hlY2tib3guY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2RDaGVja2JveFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RDaGVja2JveFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ2hlY2tib3hNb2R1bGUgeyB9XHJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hlY2tib3gvIiwic291cmNlcyI6WyJzcmMvbGliL2NoZWNrYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBaUJsRCxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFmNUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLFVBQVU7aUJBQ1g7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFVBQVU7aUJBQ1g7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNkQ2hlY2tib3ggfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkQ2hlY2tib3hcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNkQ2hlY2tib3hcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZENoZWNrYm94TW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './lib/checkbox.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvY2hlY2tib3gvIiwic291cmNlcyI6WyJzcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gubW9kdWxlJztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoZWNrYm94LyIsInNvdXJjZXMiOlsic3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94Lm1vZHVsZSc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './src/public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoaXAvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvcHVibGljLWFwaSc7Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGlwLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3B1YmxpYy1hcGknOyJdfQ==
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export * from './index';
5
5
  export { SdRemovableChipPipe as ɵa } from './src/lib/pipes/removable-chip.pipe';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWNoaXAuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NoaXAvIiwic291cmNlcyI6WyJzZC1hbmd1bGFyLWNvcmUtY2hpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7U2RSZW1vdmFibGVDaGlwUGlwZSBhcyDJtWF9IGZyb20gJy4vc3JjL2xpYi9waXBlcy9yZW1vdmFibGUtY2hpcC5waXBlJzsiXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWNoaXAuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9jaGlwLyIsInNvdXJjZXMiOlsic2QtYW5ndWxhci1jb3JlLWNoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge1NkUmVtb3ZhYmxlQ2hpcFBpcGUgYXMgybVhfSBmcm9tICcuL3NyYy9saWIvcGlwZXMvcmVtb3ZhYmxlLWNoaXAucGlwZSc7Il19